1.1 创建工程并导入mybatis的jar文件
最基本的导入mybatis和connector的jar
1.2 编写MyBatis的配置文件
在src目录下创建一个叫mybatis.xml文件。
在这个文件中我们要配置MyBatis的工作的相关参数。
在MyBatis的配置文件中最核心的是JDBC连接数据库的四大参数项
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration> <environments default="development"> <environment id="development"> <transactionManager type="JDBC" /> <dataSource type="POOLED"> <property name="driver" value="com.mysql.jdbc.Driver" /> <property name="url" value="jdbc:mysql://127.0.0.1:3306/数据库名?useUnicode=true&characterEncoding=utf8" /> <property name="username" value="root" /> <property name="password" value="root" /> </dataSource> </environment> </environments> </configuration>
1.4 编写一个实体类
MyBatis框架是一个ORM映射的框架。
O:对象
R:关系(在关系型的数据库中就是一张表)
1 public class Users { 2 // USER_NAME varchar 3 private String userName; 4 // USER_PASS varchar 5 private String userPass; 6 // USER_IMG varchar 7 private String userImg; 8 //set&get 9 }
1.5 编写一个对数据库表Users进行CURD操作的XML文件
在MyBatis框架中我们自己编写SQL语句,但是在MyBatis框架中SQL语句不是写在程序中。
在MyBatis框架中SQL语句是写一个独立的XML文件。
编写SQL语句的XML文件二种:
1 与实体类同名的XML
2 使用映射mapper的XML(实际开发环境使用这个)
Mapper接口
Mapper是MyBatis框架中一个接口。在这个接口中我们要声明所有的CRUD方法。
使用MyBatis框架为这个接口给出一个具体的实现类。但是这个实现类是一个XML的文件。
1.6编写针对Users类的Mapper接口
public interface UsersMapper { //这个接口中编写针对Users实例的CURD的方法 public List<Users> findAll(); }
1.7编写UsersMapper这个接口的实现类
在MyBatis中实现类在一个XML文件。在XML文件编写SQL语句
UsersMapper.xml文件:
mapper namespace="com.hbgc.mapper.UsersMapper"> <!-- 当数据表中字段的名称 与 实体类中属性的名称不一致时 --> <resultMap type="com.hbgc.domain.Users" id="usersResult"> <result column="USER_NAME" property="userName" javaType="java.lang.String" /> <result column="USER_PASS" property="userPass" javaType="java.lang.String" /> <result column="USER_IMG" property="userImg" javaType="java.lang.String" /> </resultMap> <!-- select标签表示要编写一个查询语句 --> <!-- id 当前这个查询的名称 --> <!-- resultMap 用来指定查询结果与实体类之间的映射关系 --> <select id="findAll" resultMap="usersResult"> select * from users </select> </mapper>
1.8修改mybatis的核心配置文件
<configuration> //... <mappers> <mapper resource="com/hbgc/mapper/UsersMapper.xml" /> </mappers> </configuration>
1.9测试:
在测试类中:使用Mapper接口的方式与之前的方式有区别。
要从SqlSession中获得一个Mapper接口的实现类。
public static void main(String[] args) throws Exception { //加载MyBatis框架的配置文件 String resource = "mybatis.xml"; Reader reader = Resources.getResourceAsReader(resource); //根据配置文件的内容创建工厂 SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder() .build(reader); //使用工厂对象的openSession方法获得MyBatis核心操作对象 SqlSession sqlSession = sqlSessionFactory.openSession(); //调用 方法执行查询所有用户的SQL语句 UsersMapper usersMapper = sqlSession.getMapper(UsersMapper.class); List<Users> userList = usersMapper.findAll(); for (Users users : userList) { System.out.println(users); } sqlSession.close();//除了查询,其他的操作需要事物,必须提交和关闭 System.out.println("end!"); }