mybatis
一,mytatis是什么
mybatis是一个持久层框架,其作用是:ORM将sql语句映射成实体类
特点:
1,简单易学:本身就很小且简单。没有任何第三方依赖,最简单安装只要两个jar文件+配置几个sql映射文件易于学习,易于使用,通过文档和源代码,可以比较完全的掌握它的设计思路和实现。
2,灵活:mybatis不会对应用程序或者数据库的现有设计强加任何影响。 sql写在xml里,便于统一管理和优化。通过sql基本上可以实现我们不使用数据访问框架可以实现的所有功能,或许更多。
3,解除sql与程序代码的耦合:通过提供DAL层,将业务逻辑和数据访问逻辑分离,使系统的设计更清晰,更易维护,更易单元测试。sql和代码的分离,提高了可维护性。
4,提供映射标签,支持对象与数据库的orm字段关系映射
5,提供对象关系映射标签,支持对象关系组建维护
6,提供xml标签,支持编写动态sql。
二,使用idea创建maven项目入门mybatis
1、创建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>
<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:///world?useUnicode=true&characterEncoding=utf-8"/>
<property name="username" value="root"/>
<property name="password" value="12345678"/>
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="UserMapper.xml"/>
</mappers>
</configuration>
2、创建映射文件UserMapper.xml
?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.mybatis.example.BlogMapper">
<select id="selectBlog" resultType="com.tao.bean.User">
select * from user where uid = 1
</select>
</mapper>
3、获取xml配置文件
InputStream inputStream = Resources.getResourceAsStream("mybatis-config.xml");
4、创建SqlSessionFactory
SqlSessionFactory factory=new SqlSessionFactoryBuilder().build(inputStream);
5、获取SqlSession
SqlSession sqlSession = factory.openSession();
6、调用SqlSession的selectOne(命名空间.id名称);
Object object = sqlSession.selectOne("user.selectUser");
7、关闭SqlSession
sqlSession.close();
三,mybatis原生用法
基础的增删改查
1,查
//一条
sqlSession.selectOne(sqlId,参数)
//多条
sqlSession.selectlist(sqlId,参数)
2.增