博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
myBatis
阅读量:7049 次
发布时间:2019-06-28

本文共 4011 字,大约阅读时间需要 13 分钟。

mybatis-logo.png

myBatis的配置
1.mybatis-config.xml
2.XXX-mapper.xml 配置sql语句

需要转译的字符

<            <>            ><>        <>&           &'          '"          "
SELECT LAST_INSERT_ID()
INSERT INTO user (u_name) VALUES (#{u_name})
3.日志信息配置 log4j.properties (log4j)
# Global logging configurationlog4j.rootLogger=ERROR, stdout# MyBatis logging configuration...log4j.logger.org.mybatis.example.BlogMapper=TRACE# Console output...log4j.appender.stdout=org.apache.log4j.ConsoleAppenderlog4j.appender.stdout.layout=org.apache.log4j.PatternLayoutlog4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n
懒加载文件配置

orderDAO.xml

AddressDAO.xml

BookDAO.xml

缓存

/**

* 一级缓存
* 一级缓存不需要手动开启
* 在同一个Sqlsession对象中相同的语句只会执行一次,
* 第二次的数据是从缓存中获取到的
* 除非中间执行了增删改操作,(会清空缓存)
* 二级缓存
* 需要手动开启
* 实例对象需要实现Serializable接口
* 作用域在同一个mapper文件,可以跨Sqlsession对象
* 在第一次查询后SqlSession对象关闭时写入缓存
* 在修改数据后SqlSession对象关闭时清空缓存
* 所以当一个查询需要实时数据时不建议使用二级缓存
* -注意需要关闭Sqlsession对象否则不会生效
*/

java中的使用
/** * namespace 就是DAO的权限定名 * XXXmapper.xml文件 中 select insert update  *      id与DAO中的方法名一致 *      parameterType 与DAO方法参数类型 一致 *      resultXXXDAO方法返回类型一致;若返回类型是集合,则应和集合的泛型一致 *///获取SqlSessionFactory对象InputStream is = Resources.getResourceAsStream("mybatis-config.xml");SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(is);//获取SqlSession对象 sqlSessionFactory.openSession(blloean fl)指定提交的方式默认为false 需要手动提交SqlSession session = sqlSessionFactory.openSession(true);NavDAO navDAO = session.getMapper(NavDAO.class);Set
//获取SqlSessionFactory对象String resource = "mybatis-config.xml";InputStream is = Resources.getResourceAsStream(resource);SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(is);//获取SqlSession对象 sqlSessionFactory.openSession(blloean fl)指定提交的方式默认为false 需要手动提交SqlSession sqlSession = sqlSessionFactory.openSession();//执行sql语句try {    List objects = sqlSession.selectList("test.userSelectAll");    session.commit(); //查询 和 自动提交不需要commit }finally {    sqlSession.close();}

转载于:https://www.cnblogs.com/yuing/p/8966932.html

你可能感兴趣的文章
基于MOS9.0的OpenStack私有云部署
查看>>
连接MyBatis内部SqlSession与业务接口的代理类MapperProxy
查看>>
link文件安装Eclipse插件
查看>>
Null value was assigned to a property of primitive type setter
查看>>
JAXBContext返回生成XML
查看>>
Java RMI那点事儿:初识HelloWorld
查看>>
如何在RHEV虚拟机中使用USB设备的设置方法
查看>>
flex学习笔记 拖拽
查看>>
SSH三大框架的工作原理及流程
查看>>
Hadoop+HBase平台上安装snappy
查看>>
MySQL存储引擎
查看>>
shell脚本安装zabbix-agent
查看>>
值得一看的书之《精通正则表达式》
查看>>
linux内存测试工具memtester使用
查看>>
利用ansible开发运维平台的思路
查看>>
Hibernate通过注解方式处理List
查看>>
linux基础--文件权限管理
查看>>
Spring之HelloWorld
查看>>
研磨设计模式 之 状态模式(State)1——跟着cc学设计系列
查看>>
union和union all的区别
查看>>