Mybatis入门
Mybatis开发步骤:
1. 导入jar包。
D:\\GS\\Hibernate\\02Hibernate-MyBatis\\lib\\c3p0-0.9.2.1.jar
D:\\GS\\Hibernate\\02Hibernate-MyBatis\\lib\\ehcache-core-2.6.8.jar D:\\GS\\Hibernate\\02Hibernate-MyBatis\\lib\\log4j-1.2.17.jar
D:\\GS\\Hibernate\\02Hibernate-MyBatis\\lib\\mchange-commons-java-0.2.3.4.jar D:\\GS\\Hibernate\\02Hibernate-MyBatis\\lib\\mybatis-3.2.7.jar
D:\\GS\\Hibernate\\02Hibernate-MyBatis\\lib\\mybatis-ehcache-1.0.3.jar
D:\\GS\\Hibernate\\02Hibernate-MyBatis\\lib\\mysql-connector-java-5.1.21.jar D:\\GS\\Hibernate\\02Hibernate-MyBatis\\lib\\slf4j-api-1.7.5.jar D:\\GS\\Hibernate\\02Hibernate-MyBatis\\lib\\slf4j-log4j12-1.7.5.jar
2. 建立好包结构,导入junit库。
3. 拷贝一个mybatis-config.xml文件,修改里面的跟数据库连接相关的参数。
PUBLIC \\>
6. 写一个MybatisUtils.java: public class MybatisUtils { private static SqlSessionFactory sf; static{ //1.读取配置文件,创建session工厂 InputStream
in=MybatisUtils.class.getClassLoader().getResourceAsStream(\); sf=new SqlSessionFactoryBuilder().build(in); } /*
* 获取session */
public static SqlSession getSession(){ return sf.openSession(); } /*
* 关闭资源 */
public static void close(SqlSession session){ if(session!=null){ session.close(); } }
public static void main(String[] args) {
}
}
//2.获取sqlsession
7. 写一个demo
package sdibt.group.test;
import java.util.List;
import org.apache.ibatis.session.SqlSession; import org.junit.After; import org.junit.Before; import org.junit.Test;
import sdibt.group.entity.Book;
import sdibt.group.utils.MybatisUtils;
public class Demo {
private SqlSession session; @Before
public void before(){ session=MybatisUtils.getSession(); }
@Test
public void test(){ List
@After
public void after(){ MybatisUtils.close(session); } }
注意:
1. namespace如果采用包名,必须保证包名正确性。如果不是包名可以随便起名,最好和
当前映射文件相关。
2.配置文件中的pooled表示这是JDBC连接对象的数据源连接池的实现,用来避免创建
新的连接实例时必要的初始连接和认证时间。这是一种当前Web应用程序用来快速响应请求很流行的方法。
除了上述(UNPOOLED)的属性之外,还有很多属性可以用来配置POOLED数据源: ??poolMaximumActiveConnections – 在任意时间存在的活动(也就是正在使用)连接的数量。默认值:10
??poolMaximumIdleConnections – 任意时间存在的空闲连接数。
??poolMaximumCheckoutTime – 在被强制返回之前,池中连接被检查的时间。默认值:20000毫秒(也就是20秒)
??poolTimeToWait – 这是给连接池一个打印日志状态机会的低层次设置,还有重新尝试获得连接,这些情况下往往需要很长时间(为了避免连接池没有配置时静默失败)。默认值:20000毫秒(也就是20秒)
??poolPingQuery – 发送到数据的侦测查询,用来验证连接是否正常工作。
2. typeAlias表示别名是为Java类型命名一个短的名字。它只用在XML配置文件里,用
来减少类完全限定名的多余部分。例如在配置文件里需要使用domain.blog.Author的地方可以简单的使用Author替换。
源码剖析之建造者模式和工厂模式
什么是设计模式?
设计模式是一种思想,不是编程规则,也不是代码。而且思想符合生活常理。
设计模式分类?
创建型模式:单例模式,工厂模式,建造者模式….?
结构性模式:适配器模式….?
行为型模式:策略模式….?
什么是单例模式?
分为两类: 1. 饿汉式
public class Singleton { private Singleton(){}