2

myBatis的学习之 ( 二 ) ----- myBatis的应用

一、基本用法

1.添加jar包

      mybatis-3.2.8.jar

      mysql-connector-java-5.1.7-bin.jar

添加配置文件

       datasource.properties

1 jdbc.driverClassName=com.mysql.jdbc.Driver
2 jdbc.url=jdbc:mysql://localhost:3306/数据库名? useUnicode=true&characterEncoding=utf8
3 jdbc.username=root
4 jdbc.password=root
mb-config.xml
 1   <!--2、设置日志-->
 2   <settings>
 3       <setting name="logImpl" value="log4j"/>
 4       <!--还可使用mybatis官方提供的日志,不用添加log4j的jar包和配置文件-->
 5       <!--<setting name="logImpl" value="org.apache.ibatis.logging.stdout.StdOutImpl"/>-->
 6   </settings>
 7 
 8   <!--3.给实体类起别名-->
 9    <typeAliases>
10         <!-- <typeAlias type="day1.entity.User" alias="user"/> 某一个实体类-->
11         <!--推荐:包下所有类名(别名)-->
12          <package name="day1.entity"/>
13    </typeAliases>
14 
15   <!--default用来选择使用哪一套配置-->
16   <environments default="mysql">
17       <!--environment标签可以有多个,用来配置多个数据库支持,但其id不能重复-->
18       <environment id="mysql">
19           <!-- 事务管理器
20           jdbc:使用jdbc的事务,
21           MANAGED:表示mybatis对于事务什么都不作,交给其他框架(Spring)处理-->
22           <transactionManager type="jdbc"></transactionManager>
23           <!-- 连接信息
24           1.type的值:
25           unpooled:不使用连接池,只用来打开和关闭连接
26           pooled:使用连接池
27           jndi:向其他框架获取连接-->
28           <dataSource type="unpooled">
29               <property name="driver" value="${jdbc.driverClassName}"/>
30               <property name="url" value="${jdbc.url}"/>
31               <property name="username" value="${jdbc.username}"/>
32               <property name="password" value="${jdbc.password}"/>
33           </dataSource>
34       </environment>
35 
36   </environments>
37 
38     <!--映射器:配置mapper文件:本质上是接口的实现类 -->
39   <mappers>
40     <mapper resource="day1/mapper/UserMapper.xml"/>
41     <mapper resource="day1/mapper/UserDaoMapper.xml"/>
42     <mapper resource="day1/mapper/ResultMap_Mapper.xml"/>
43   </mappers>
View Code

在mapper配置文件里写sql语句

 1   <!--2、设置日志-->
 2   <settings>
 3       <setting name="logImpl" value="log4j"/>
 4       <!--还可使用mybatis官方提供的日志,不用添加log4j的jar包和配置文件-->
 5       <!--<setting name="logImpl" value="org.apache.ibatis.logging.stdout.StdOutImpl"/>-->
 6   </settings>
 7 
 8   <!--3.给实体类起别名-->
 9    <typeAliases>
10         <!-- <typeAlias type="day1.entity.User" alias="user"/> 某一个实体类-->
11         <!--推荐:包下所有类名(别名)-->
12          <package name="day1.entity"/>
13    </typeAliases>
14 
15   <!--default用来选择使用哪一套配置-->
16   <environments default="mysql">
17       <!--environment标签可以有多个,用来配置多个数据库支持,但其id不能重复-->
18       <environment id="mysql">
19           <!-- 事务管理器
20           jdbc:使用jdbc的事务,
21           MANAGED:表示mybatis对于事务什么都不作,交给其他框架(Spring)处理-->
22           <transactionManager type="jdbc"></transactionManager>
23           <!-- 连接信息
24           1.type的值:
25           unpooled:不使用连接池,只用来打开和关闭连接
26           pooled:使用连接池
27           jndi:向其他框架获取连接-->
28           <dataSource type="unpooled">
29               <property name="driver" value="${jdbc.driverClassName}"/>
30               <property name="url" value="${jdbc.url}"/>
31               <property name="username" value="${jdbc.username}"/>
32               <property name="password" value="${jdbc.password}"/>
33           </dataSource>
34       </environment>
35 
36   </environments>
37 
38     <!--映射器:配置mapper文件:本质上是接口的实现类 -->
39   <mappers>
40     <mapper resource="day1/mapper/UserMapper.xml"/>
41     <mapper resource="day1/mapper/UserDaoMapper.xml"/>
42     <mapper resource="day1/mapper/ResultMap_Mapper.xml"/>
43   </mappers>
View Code

Util工具类

 1 public class Util {
 2     static SqlSessionFactory factory;
 3     static {
 4         SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();
 5         factory = builder.
 6                 build(Util.class.getClassLoader().getResourceAsStream("mb-config.xml"));
 7     }
 8     //获取连接对象
 9     public static SqlSession getSession() {
10         return factory.openSession();
11     }
12     //关闭session
13     public static void closeSession(SqlSession session) {
14         if (session != null) {
15             session.close();//关闭
16         }
17     }
18 }

测试类 test

 1 //测试类
 2 public class TestMapper {
 3     //psvm
 4     public static void main(String[] args) {
 5         //1.创建sqlSessionFactoryBuilder对象,读取配置文件
 6         SqlSessionFactoryBuilder builder =new SqlSessionFactoryBuilder();
 7         //2.连接对象工厂
 8         SqlSessionFactory factory = builder.build(TestMapper.class.
 9                 getClassLoader().getResourceAsStream("mb-config.xml"));
10         //3.获取连接对象
11         SqlSession session =factory.openSession();
12         //4.执行查询操作
13         // -->1.selectOne("方法名",实参)
14         User user = session.selectOne("test.selectUserById",1);
15         // -->2.selectList("方法名")
16         List<User> list = session.selectList("test.selectAllUsers");
17         System.out.println("查询结果:"+list.toString());
18         session.close();
19     }
20 }

 

posted @ 2021-04-07 09:00  风吟令  阅读(62)  评论(0编辑  收藏  举报