1 创建工程
2 导入jar包:在pom文件中导入
<dependencies>
<!-- mybatis核心包 -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.4.1</version>
</dependency>
<!-- mysql驱动包 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.29</version>
</dependency>
<!-- junit测试包 -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
</dependency>
<!--日志包,方便看sql语句-->
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.16</version>
</dependency>
</dependencies>
<!-- 默认不会扫描main、java下的包,需要配置,配置完后会覆盖默认扫描的resources包,也需要配置-->
<build>
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.xml</include>
</includes>
<filtering>true</filtering>
</resource>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*.xml</include>
<include>**/*.properties</include>
</includes>
</resource>
</resources>
</build>
3.创建实体类–Dept表
4 创建Mapper映射文件
5 创建配置文件
<?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中节点的位置是有先后顺序的-->
<configuration>
<typeAliases>
<!-- 类型别名,表示可以使用 Dept 来代替 pojo.Dept -->
<!-- 类型别名就是可以给类的全路径起一个简称 -->
<typeAlias type="pojo.Dept" alias="Dept"/>
<typeAlias type="pojo.Employee" alias="Employee"/>
</typeAliases>
<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://localhost:3306/test?characterEncoding=UTF-8"/>
<property name="username" value="root"/>
<property name="password" value="root"/>
</dataSource>
</environment>
</environments>
<!--实体类的映射文件,在dao.mapper包下创建完Mapper文件后在此追加即可-->
<mappers>
<mapper resource="dao/mapper/DeptMapper.xml"/>
<mapper resource="dao/mapper/EmployeeMapper.xml"/>
</mappers>
</configuration>
6.添加log4j日志文件
### 设置Logger输出级别和输出目的地 ### debug更详细,如果设为info那么打印出的表数据遇到字符串就不显示,此外还有logfile
log4j.rootLogger=debug,stdout
### 把日志信息输出到控制台 ###
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
#log4j.appender.stdout.Target=System.err
log4j.appender.stdout.layout=org.apache.log4j.SimpleLayout
### 把日志信息输出到文件:jbit.log ###
log4j.appender.logfile=org.apache.log4j.FileAppender
log4j.appender.logfile.File=jbit.log
log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
log4j.appender.logfile.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %F %p %m%n
###显示SQL语句部分
log4j.logger.com.mybatis=DEBUG
log4j.logger.com.mybatis.common.jdbc.SimpleDataSource=DEBUG
log4j.logger.com.mybatis.common.jdbc.ScriptRunner=DEBUG
log4j.logger.com.mybatis.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
7.测试:
public class MybatisTest {
String resource = "mybatis-config.xml";//配置文件名
Reader reader = null; //读取配置文件的工具
SqlSession session = null;
@Before
public void open(){
//使用MyBatis提供的Resources类加载mybatis的配置文件
try {
reader = Resources.getResourceAsReader(resource);
//构建sqlSession的工厂
SqlSessionFactory sessionFactory =
new SqlSessionFactoryBuilder().build(reader);
//创建能执行映射文件中sql的sqlSession
session = sessionFactory.openSession();
} catch (IOException e) {
e.printStackTrace();
}
}
@After
public void close(){
//关闭资源
if (session != null) {
session.close();
}
if (reader != null) {
try {
reader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
@Test
public void testInsert() {
try {
//创建实体对象,将它insert到数据库中
Dept dept = new Dept();
dept.setName("获取ID2");
session.insert("DEPT.insertDept",dept);
// session.insert("DEPT.addDept","dept");
session.commit();//增删改要提交事务
//insert标签中设置keyProperty和useGeneratedKeys后才能看到值,否则是null
System.out.println(dept.getId());
} catch (Exception ex) {
ex.printStackTrace();
session.rollback();//有异常事务回滚
}
}