1.使用工具类
将SqlSession的获取 封装成一个工具
1 private static SqlSession session = null; 2 static { 3 try { 4 InputStream in = Resources.getResourceAsStream("mybatis.xml"); 5 session = new SqlSessionFactoryBuilder().build(in).openSession(); 6 } catch (IOException e) { 7 e.printStackTrace(); 8 } 9 10 } 11 public static SqlSession getSqlSession() { 12 return session; 13 }
2.从属性文件中读取DB连接四要素
1 <!-- 注册DB 连接的四要素属性文件 --> 2 <properties resource="jdbc_mysql.properties"/>
1 <dataSource type="POOLED"> 2 <property name="driver" value="${jdbc.driver}" /> 3 <property name="url" value="${jdbc.url}" /> 4 <property name="username" value="${jdbc.username}" /> 5 <property name="password" value="${jdbc.password}" /> 6 </dataSource>
jdbc_mysql.properties
1 jdbc.driver=com.mysql.jdbc.Driver 2 jdbc.url=jdbc:mysql://localhost:3306/test 3 jdbc.username=root 4 jdbc.password=root
3.多个映射文件
在真正项目中,一般情况下会一个Dao接口对应一个映射文件。所以,一个项目中多个映射文件的情况会非常普遍
当多个映射文件中 有相同的 id 属性,系统不知道该找哪一个,可以为每个映射文件指定其独有的命名空间
1 //(注:需保证"insertStudent" 这个statement 的名称是唯一的,可以加上命名空间的前缀来保证唯一性 ) 2 sqlSession.insert("student.insertStudent", s);