mybatis笔记
来源:互联网 发布:淘宝仓管的工作 编辑:程序博客网 时间:2024/05/20 09:27
mybatis是不完全的orm,框架,需要码农自己写sql,适合需要调优和需求变化大的项目,因为你可以改变sql语句。
mybatis两种使用方法
第一种:
在xml中编写sq语句,
并且添加到mybatis总xml配置文件中,暂且叫sqlconfig.xml。
加载sqlconfig.xml初始化 SqlSessionFactory
创建sqlsession…….
第二种
先编写接口
再编写包含sql的xml
把xml添加的sqlconfig.xml
加载sqlconfig.xml初始化 SqlSessionFactory
执行sqlSession.getMapper(UserDaoMap.class)获得接口的代理对象或者实现类。
然后就可以调用接口中定义的方法了
(注:在dao层,一般要写dao接口和实现类,使用mybatis不用写实现类。听说是用代理实现的。不明觉厉!
并且xml的namespace和接口名相同,
sql语句的id和方法名相同,
返回值和参数相同
)
resultMap实现列名和po对象的属性名不一致
<resultMap type="User" id="testResultMap"> <id column="id_" property="id"/> <result column="username_" property="username"/> </resultMap> <select id="findUserByIdResultMap" parameterType="String" resultMap="testResultMap"> SELECT id id_,username username_ FROM user1 WHERE id=#{value} </select>
dto data transfer object
数据传输对象,这一类对象是包装后的pojo类。使用包装后pojo对象完成复杂查询。
sql语句返回多行,每一行都是一个bean对象,resultType的值是集合元素的类型而非集合类。
<select id="findUserByName" parameterType="String" resultType="com.entity.User"> SELECT * FROM user1 WHERE username like '%${value}%'</select>
传入的参数是多少怎么写?
答案:使用foreach标签,无论是是使用数组还是List集合都可以,属于动态sql范畴
resultMap配置一对一,一对多,多对多
mybatis和spring整合,保证sqlSessionFactory单例,sqlSession是原型
sqlSession是线程不安全的,要求在方法内创建使用。如果判断是否线程安全?
- MyBatis笔记
- Mybatis笔记
- mybatis笔记
- 【Mybatis笔记】
- mybatis笔记
- mybatis笔记
- mybatis笔记
- mybatis笔记
- mybatis笔记
- Mybatis笔记
- mybatis笔记
- MyBatis 笔记
- mybatis 笔记
- mybatis笔记
- MyBatis笔记
- Mybatis笔记
- Mybatis 笔记
- Mybatis笔记
- 数据结构的链式存储结构
- 【JZOJ4812】string
- 【NOIP2016提高A组五校联考2】string
- 设计模式-工厂方法设计模式
- HDU-5914 Triangle(思路)
- mybatis笔记
- Android 通知栏信息
- 人品问题
- KWIC问题:tokenizer/arraylist in java
- LeetCode oj 260. Single Number III (位运算)
- Glide图片加载框架学习
- 【Linux专题(三)—— 机器学习】小白也能玩tensorflow作梵高画
- 工具分享:Android投影控制软件推荐——Total Control
- Mybatis传多个参数如int 和String该怎么传