mybatis学习一 环境搭建

第一步导入Jar包

第二步配置sqlMapConfig.xml文件,xml文件放在src下面

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <!DOCTYPE configuration
 3   PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
 4   "http://mybatis.org/dtd/mybatis-3-config.dtd">
 5 <configuration>
 6     <!-- default的值是<environment>的id,代表当前要连接的数据库环境
 7         【注】default的值一定要是一个<environment>,否则在获取SqlSession实例时会报空指针错误
 8      -->
 9     <environments default="mySqlJdbc">
10         <environment id="mySqlJdbc">
11             <!-- 事物标签,使用原生jdbc的事物 -->
12             <transactionManager type="JDBC"></transactionManager>
13             <!-- 数据库连接池技术 -->
14             <dataSource type="POOLED">
15                 <!-- property中的name的值,不能随便写,有规定的 -->
16                 <property name="driver" value="com.mysql.jdbc.Driver"/>
17                 <property name="url" value="jdbc:mysql://192.168.153.128:3306/mybaties?characterEncoding=utf-8"/>
18                 <property name="username" value="root"/>
19                 <property name="password" value="123456"/>
20             </dataSource>
21         </environment>
22         <environment id="oracleJdbc">
23             <transactionManager type=""></transactionManager>
24             <dataSource type=""></dataSource>
25         </environment>
26     </environments>
27     
28     
29     <!-- 加载XXXMapper.xml
30         如果采用代理开发,package批量指定xxxMapper.xml文件已经xxxMapper.java文件
31      -->
32     <mappers>
33         <mapper resource="com/caopeng/mapper/FlowerMapper.xml"/>
34     </mappers>
35 </configuration>

 

 

 

第三步  配置xxxMapper.xml文件,一般一个xxxMapper.xml文件需要和xxx实体类以及xxx接口配合使用

xxxMapper.xml文件,一般和xxxMapper.java文件,此文件是一个接口,放在同一个包下

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <!DOCTYPE mapper
 3   PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 4   "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 5   <!-- namespace的值用于区分各个文件中的同名的id
 6           在mapper标签下的子标签一般都有一个id属性,如果有多个xxxMapper.xml文件,
 7           就有可能造成aMapper.xml文件中的mapper下子标签的id与bMapper.xml文件中mapper下子标签冲突,
 8           为了解决冲突问题,就用命名空间做区分,和c++中的命名空间,java中的包名  等功能类似
 9    -->
10   <mapper namespace="com.caopeng.mapper.FlowerMapper">
11   <!-- select 语句标签在指定返回值时(resultType),哪怕返回值是一个List,但是也是要指定List中的类类型,
12           resultType的值没有List,我们在用原生的JDBC时,
13           ResultSet其实是一个游标,要rs.next()来走向下一个记录
14           
15    -->
16       <select id="selAll" resultType="com.caopeng.pojo.Flower">
17           select * from flower
18       </select>
19   
20   
21   </mapper>

 

 

第四步编写测试代码  非代理版本

 1 public class Demo {
 2     public static void main(String[] args) throws IOException {
 3         //加载配置文件
 4         InputStream in = Resources.getResourceAsStream("mybatis.xml");
 5         //使用工厂设计模式   【注意】以后sqlSessionFactory都会被spring 管理,不需要我们自己创建
 6         SqlSessionFactory sqlSessionFactory=new SqlSessionFactoryBuilder().build(in);
 7         System.out.println(sqlSessionFactory);
 8         //获取sqlSession
 9         SqlSession sqlSession=sqlSessionFactory.openSession();
10         
11         List<Flower> flowrList = sqlSession.selectList("com.caopeng.mapper.FlowerMapper.selAll");
12         for (Flower flower : flowrList) {
13             System.out.println(flower);
14         }
15         sqlSession.close();
16     }
17 }

 

posted @ 2018-09-06 20:42  阿瞒123  阅读(129)  评论(0编辑  收藏  举报