【黑马程序员济南】myBatis入门
myBatis的简介
MyBatis 本是apache的一个开源项目iBatis, MyBatis是一个优秀的持久层框架,它对jdbc的操作数据库的过程进行封装,使开发者只需要关注SQL 本身,而不需要花费精力去处理例如注册驱动、创建connection、创建statement、手动设置参数、结果集检索等jdbc繁杂的过程代码。
Mybatis通过xml或注解的方式将要执行的各种statement(statement、preparedStatemnt、CallableStatement)配置起来,并通过java对象和statement中的sql进行映射生成最终执行的sql语句,最后由mybatis框架执行sql并将结果映射成java对象并返回。
myBatis的配置
在classpath下创建SqlMapConfig.xml,如下:
"1.0"encoding="UTF-8"?>
PUBLIC"-//mybatis.org//DTD
Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
"development">
"development">
"JDBC"/>
"POOLED">
"driver"value="com.mysql.jdbc.Driver"/>
"url"value="jdbc:mysql://localhost:3306/mybatis?characterEncoding=utf-8"/>
"username"value="root"/>
"password"value="root"/>
"sqlmap/User.xml"/>
SqlMapConfig.xml是mybatis核心配置文件,上边文件的配置内容为数据源、事务管理
在user.xml中添加:
"findUserById" parameterType="int" resultType="cn.itcast.mybatis.po.User">
select * from user where id = #{id}
测试实现:
public class Mybatis_first {
//会话工厂
private SqlSessionFactory sqlSessionFactory;
@Before
public void createSqlSessionFactory() throws IOException {
// 配置文件
String resource ="SqlMapConfig.xml";
InputStream inputStream = Resources.getResourceAsStream(resource);
// 使用SqlSessionFactoryBuilder从xml配置文件中创建SqlSessionFactory
sqlSessionFactory = new SqlSessionFactoryBuilder()
.build(inputStream);
}
// 根据 id查询用户信息
@Test
public void testFindUserById() {
// 数据库会话实例
SqlSession sqlSession =null;
try {
// 创建数据库会话实例sqlSession
sqlSession =sqlSessionFactory.openSession();
// 查询单个记录,根据用户id查询用户信息
User user = sqlSession.selectOne("test.findUserById", 10);
// 输出用户信息
System.out.println(user);
}catch (Exception e) {
e.printStackTrace();
}finally {
if (sqlSession != null) {
sqlSession.close();
}
}
}
}