MyBatis 是支持定制化 SQL、存储过程以及高级映射的优秀的持久层框架
MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集
MyBatis可以使用简单的XML或注解用于配置和原始映射,将接口和Java的POJO(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录
MyBatis 是一个 半自动的ORM(Object Relation Mapping)框架
# 导入依赖
jar
org.mybatis
mybatis
3.5.7
junit
junit
4.12
test
mysql
mysql-connector-java
5.1.3
log4j
log4j
1.2.17
# 编写mybits配置文件
<?xml version="1.0" encoding="UTF-8" ?>
# 创建实体类:getter和setter方法、构造器、toString方法
public class User {
private Integer id;
private String username;
private String password;
private Integer age;
private String sex;
private String email;
}
# 接口
public interface UserMapper {
int insertUser();
}
# 映射文件
<?xml version="1.0" encoding="UTF-8" ?>
insert into t_user values(null,'admin','123456',23,'男','12345@qq.com')
# 测试方法
@Test
public void testMyBatis() throws IOException {
//加载核心配置文件
InputStream is = Resources.getResourceAsStream("mybatis-config.xml");
//获取SqlSessionFactoryBuilder
SqlSessionFactoryBuilder sqlSessionFactoryBuilder = new SqlSessionFactoryBuilder();
//获取sqlSessionFactory
SqlSessionFactory sqlSessionFactory = sqlSessionFactoryBuilder.build(is);
//获取SqlSession
SqlSession sqlSession = sqlSessionFactory.openSession();
//获取mapper接口对象
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
//测试功能
int result = mapper.insertUser();
//提交事务
sqlSession.commit();
System.out.println("result:"+result);
}
@Test
public void testMyBatis() throws IOException {
//加载核心配置文件
InputStream is = Resources.getResourceAsStream("mybatis-config.xml");
//获取SqlSessionFactoryBuilder
SqlSessionFactoryBuilder sqlSessionFactoryBuilder = new SqlSessionFactoryBuilder();
//获取sqlSessionFactory
SqlSessionFactory sqlSessionFactory = sqlSessionFactoryBuilder.build(is);
//获取SqlSession,设置为true表示自动提交
SqlSession sqlSession = sqlSessionFactory.openSession(true);
//获取mapper接口对象
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
//测试功能
int result = mapper.insertUser();
//提交事务
//sqlSession.commit();
System.out.println("result:"+result);
}
<?xml version="1.0" encoding="UTF-8" ?>
# 日志级别:FATAL(致命)>ERROR(错误)>WARN(警告)>INFO(信息)>DEBUG(调试)
# 查询接口
User getUserById();
# 查询映射
# 查询功能的标签必须设置resultType或resultMap,resultType:设置默认的映射关系,resultMap:设置自定义的映射关系
# 编写jdbc.properties
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/mybatis
jdbc.username=root
jdbc.password=123456
# mybatis配置文件中导入jdbc配置文件
# 使用${}引入配置
properties?,settings?,typeAliases?,typeHandlers?,objectFactory?,objectWrapperFactory?,reflectorFactory?,plugins?,environments?,databaseIdProvider?,mappers?
# mybatis配置文件中设置如下
# 之后就可以在mapper映射文件中使用
# 不区分大小写
# 方式2