第一步导入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 }