使用MyBaits用绑定接口的方式

一、MyBaits简介
• MyBaits 是支持定制化 SQL、存储过程以及高级映射的优秀的持久层框架
• MyBaits 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。
• MyBaits可以使用简单的XML或注解用于配置和原始映射,将接口和Java的POJO(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录
• MyBaits是一个半自动化的持久化层框架。
一、MyBaits开发
第一步、创建一个Java或Web项目都可以,导入mybaits开发需要的架包:mybaits-3.4.1.jar和连接数据库的架包:mysql-connector-java-5.1.37-bin.jar,我用的是MySql数据库,jar包可以在百度下载,创建MyBatis全局配置文件,名字可以随便起,建议取个有意义的,我的配置文件是:mybaits-comfig.xml


mybaits-comfig.xml:全局配置文件内容以下
<?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> //这里是MyBaits配置文件开始,所有的配置在里面写
<environments default="dev_mysql">环境们,mybatis可以配置多种环境 ,default指定使用某种环境。和下面的配置的environment标签的id对应,可以达到快速切换环境
<environment id="dev_mysql">//environment:配置一个具体的环境信息;id代表当前环境的唯一标识;必须有两个标签:transactionManager、dataSource;
<transactionManager type="JDBC" />//transactionManager:事务管理器;type:事务管理器的类型,有两个值:JDBC|MANAGED
<dataSource type="POOLED">dataSource:数据源;type:数据源类型UNPOOLED|POOLED|JNDI
<property name="driver" value="com.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql://localhost:3306/连接的数据库名" />
<property name="username" value="root" />
<property name="password" value="123456" />
</dataSource>
</environment>
</environments>
</configuration>
第二步、创建实体对象(Java类,实体对象对应数据库的表).

第三步、创建接口写一个方法和mapping映射文件的绑定(mapping.xml和接口是映射关系).

Mapping.xml配置文件写:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper//mapper配置标识头
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.gb.dao.UsersDao">
<!-- namespace:名称空间;指定为接口的全类名id:唯一标识 -->
<!-- public Users getUsersById(int id); -->
<select id="getUsersById" resultType="users">
<!-- resultType:返回值类型;#{id}:从传递过来的参数中取出id值-->
select * from users where id = #{id}//这里写sql语句
</select>
</mapper>
Dao接口的内容有:

1.Dao接口的全包名和mapping.xml的名称空间相同


2.Dao接口有一个抽象方法:Users getUsersById(int id),和mapping.xml映射文件的:<select id="getUsersById">的id相同,这样就能和接口形成绑定了。
第四步、建立sqlSessionFactory工厂(用于加载mybaits_comfig.xml全局文件),并测试是否写对。

内容如下:


第五步、写一个测试类(我写的是实现Dao接口的方法,但仅仅只是实现关系,并没有具体实现它的方法,我用DaoUsersImpl类来传输数据并封装一些操作)。
先写一个类实现dao接口,内容:

有两种方式调用方法,我具体讲的是第二种
第一种方法,使用的是指定mapping.xml的名称空间和select标签中的Id,来获得查询的结果。
第二种方法,使用绑定接口的方式,来获得查询的结果。
接下来调用方法就行了,写一个测试方法,内容如下:

PS:1、如果要增删改也有mapper.xml也有对应的标签,如下:

DaoUsersImpl.class实现

2、查询全部内部内部也有封装的方法,可以这样写,如下:

Mapping.xml

DaoUsersImpl.class实现

3、增删改都要提交,只有查询不用提交。
浙公网安备 33010602011771号