1.环境搭建
1.1 创建lib文件夹,用来存放依赖的jar包
在工程目录下,创建lib文件夹,并且将工程的依赖路径改为lib路径
1.2 将jar包存入lib文件夹
将所需要用到的jar包依赖放入lib文件夹中
log4j的jar包用来和log4j.properties配置文件对应
mybatis的jar包提供mybatis环境
mysql的jar包用来提供和数据库的连接
2.配置文件
2.1 log4j.properties
log4j.rootLogger=warn, stdout
log4j.logger.com.ibatis = DEBUG
log4j.logger.com.ibatis.common.jdbc.SimpleDataSource = DEBUG
log4j.logger.com.ibatis.common.jdbc.ScriptRunner = DEBUG
log4j.logger.com.ibatis.sqlmap.engine.impl.SqlMapClientDelegate = DEBUG
log4j.logger.java.sql.Connection = DEBUG
log4j.logger.java.sql.Statement = DEBUG
log4j.logger.java.sql.PreparedStatement = DEBUG
log4j.logger.java.sql.ResultSet = DEBUG
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
用来配置日志文件
2.2 jdbc.properties
driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/20
username=root
password=root
其中的参数对应的就是jdbc中创建连接时所需要的参数配置
2.3 mybatis-config.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>
<!--加载链接数据库的数据-->
<properties resource="jdbc.properties"></properties> <!--${driver}-->
<!--配置开发环境-->
<environments default="development">
<environment id="development">
<!--
声明使用jdbc方式来提交和回滚事务,依赖于从数据源得到的连接来管理事务范围。
JDBC使用 数据库自己的事务(局部事务),connect.beginTranstion(), connect.commit()等
JTA : 使用jta 事务管理器管理事务(全局事务),使用userTranstion对象
External: 自己(Ibatis)不控制事务,事务交由外部控制,一般在CTM,或spring托管事务中使用
-->
<transactionManager type="JDBC" />
<dataSource type="POOLED">
<property name="driver" value="${driver}"/>
<property name="url" value="${url}"/>
<property name="username" value="${username}"/>
<property name="password" value="${password}"/>
</dataSource>
</environment>
</environments>
<!--映射的文件或接口 ,如果映射的文件 那么用/隔开 ,如果是接口或类要用 . 隔开 -->
<mappers>
<!--<mapper resource="com.tledu/mapper/IUserMapper.java" />-->
<!-- <mapper class="com.tledu.mapper.IUserMapper"/>-->
<mapper resource="com/tledu/mapper/UserMapper.xml"/>
</mappers>
</configuration>
在此文件中,加载jdbc.properties文件创建数据库连接,并且配置开发环境,并且声明用JDBC的方式提交事务,最后写出该文件对应的文件或者接口
3.基本使用
mapper实现三种方式:
1、sqlSession直接执行对应的mapper.xml中的sqlID (只需要创建mapper.xml即可)
在mybatis配置文件中的映射方式如下
<!--映射的文件或接口 ,如果映射的文件 那么用/隔开 ,如果是接口或类要用 . 隔开 -->
<mappers>
<mapper resource="com/tledu/mapper/UserMapper.xml"/>
</mappers>
调用方式
session.insert("mapper.xml中的命名空间.sqlId",user);
2、注解,将注解sql加在接口方法的上面(只需要创建接口即可)
public interface IUserMapper{
@Insert(" insert into tt_user(username,password) values(#{username},#{password}) ")
void add(User user);
}
在mybatis配置文件中的映射如下:
<mappers>
<mapper class="com.tledu.mapper.IUserMapper"/>
</mappers>
调用方式
session.insert("接口全类名.方法名",user);
session.getMapper(IUserMapper.class).add(user);
3、接口代理,需要创建mapper.xml和mapper对应的接口 要求接口名与mapper.xml名称一致 在xml中的命名空间是接口的全类名
在mybatis配置文件中的映射方式如下
<!--映射的文件或接口 ,如果映射的文件 那么用/隔开 ,如果是接口或类要用 . 隔开 -->
<mappers>
<mapper resource="com/tledu/mapper/UserMapper.xml"/>
</mappers>
调用方式
session.getMapper(UserMapper.class).add(user);