mybatis
猫不在
这个作者很懒,什么都没留下…
展开
-
在mybatis里面配置外部资源文件
在全局配置文件里面利用properties标签在src 类 路径下放入资源文件接下来在原创 2017-12-16 13:45:50 · 862 阅读 · 0 评论 -
mybatis的缓存机制
一级缓存两级缓存一级缓存(本地缓存)sqlsession级别的缓存,一级缓存是一直开启的与数据库同一次会话期间,查询到的数据会放在本地缓存中,以后如果还需要获取相同的数据,直接从缓存中拿到。一级缓存失效的几种情况sqlsession 不同sqlsession相同,但查询条件不一样sqlsession相同,但两次操作之间执行了增删改。sqlsession相同,但手动清除了缓存。open原创 2017-12-18 11:05:41 · 142 阅读 · 0 评论 -
sql标签
抽取可重用的sql片段,方便后面引用sql抽取,经常将要查询的列名,或者插入用的列名抽取出来方便引用include 来引用已经抽取的sqlinclude还可以自定义一些property,sql标签内就可以通过${prop}来直接使用<select id="getEmpByBind" resultType="emp" databaseId="mysql"> <bind name原创 2017-12-18 00:14:36 · 509 阅读 · 0 评论 -
bind 绑定标签的用法
可以用在模糊查询中,加入两个% %value 指传入的参数处理后的值name 就是引用时的name<select id="getEmpByBind" resultType="emp" databaseId="mysql"> <bind name="_lastName" value="'%'+name+'%'"/> select last_name as lastName,原创 2017-12-18 00:01:48 · 2686 阅读 · 0 评论 -
mybatis两个内置参数
除了方法传递过来的参数以外,mybatis还默认有两个内置参数_parameter 代表整个参数单个参数,_parameter 就是这个参数多个参数 会被封装成一个map,_parameter就是代表这个map_databaseId 如果配置了databaseIdProvider标签, _databaseId就是代表当前数据库的别名,mysql或者oracle等等。<select id=原创 2017-12-17 23:39:39 · 1080 阅读 · 0 评论 -
mybatis动态插入sql语句
if标签if标签就类似于jstl的if标签where标签在执行多条件选择时,可能会多出一个and 关键字。譬如: <select id="getEmpAndDep" resultType="emp" databaseId="mysql"> select last_name,email,id,gender from employee where <if test=原创 2017-12-17 23:23:19 · 15551 阅读 · 0 评论 -
mybatis中resultMap的几种用法
基本定义resultMap自定义结果集映射规则resultMap与resultType只能二选一 <resultMap type="emp" id="emps"> <id column="id" property="id" /> <result column="last_name" property="lastName" /> <result column="email原创 2017-12-17 14:36:18 · 8774 阅读 · 0 评论 -
mybatis里面返回list集合
如果返回的是一个集合,需要在返回类型里面标注,集合中元素的类型。mybatis会自动将其封装成相应的对象,组合成一个list返回原创 2017-12-16 20:20:25 · 12795 阅读 · 0 评论 -
mybatis注册映射文件
## 注册映射文件 ##直接注册映射xml文件<mappers> <mapper resource="com/mapper/EmployeeMapper.xml"/> </mappers>或者<mappers> <mapper url="file:///var/mappers/BlogMapper.xml"/> </mappers>resource是在原创 2017-12-16 16:17:00 · 563 阅读 · 0 评论 -
mybatis如何处理参数
单个参数不予处理,可以直接在sql语句中取出来,无论${名字}里面的名字是什么多个参数,mybatis会将其封装成一个map,key值是param1,param2….在${ param1}就可以取出指定的key值public Employee getEmployeeById(@Param("id")int id,@Param("gender")int gender);可以在接口方法里,通过@p原创 2017-12-16 19:32:48 · 438 阅读 · 0 评论 -
mybatis在oracle数据库中获取主键
原理用employ_seq.nextval,自动获得下一次的id值并插入然后用内置select语句,加employ_seq.currval获取当前id值放入对象中。 <insert id="insertEmp" databaseId="oracle> <selectKey keyProperty="id" resultType="int" databaseId="oracle"原创 2017-12-16 18:02:14 · 803 阅读 · 0 评论 -
mybatis获取自增主键的值
原理底层是利用statement.getGeneratedKeys方法设置 <insert id="addEmp" useGeneratedKeys="true" keyProperty="id"> insert into employee (last_Name,email,gender)Values(#{lastName},#{email},#{gender}) </in原创 2017-12-16 17:32:53 · 458 阅读 · 0 评论 -
mybatis写增删改时候的注意点
获取sqlsqssion有两种方法String resource = "Configuration.xml"; InputStream inputStream = Resources.getResourceAsStream(resource); SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryB原创 2017-12-16 17:16:50 · 738 阅读 · 0 评论 -
在mybatis里面设置不同数据库运行环境和适应性问题
配置数据库环境 <environments default="development"> <environment id="" > <transactionManager type=""></transactionManager> <dataSource type=""></dataSource> </environment> <environment id="" >原创 2017-12-16 15:19:19 · 2536 阅读 · 0 评论 -
在mybatis里面取别名
区别名有两种方式alias 英语是别名的意思利用 如果不指定alias,则别名为类名,别名不区分大小写也可以为某个包下的所有类取别名 在这种情况下,如果想为某个类名起专有别名,可以用注解@Alias( )原创 2017-12-16 14:19:21 · 2265 阅读 · 0 评论 -
在mybatis里面配置log4j配置文件
在src根目录下加入log4j.propertieslog4j.rootLogger=DEBUG, stdout //输出消息对应级别,小于等于该级别的不输出。以及输出位置log4j.appender.stdout=org.apache.log4j.ConsoleAppender //配置输出位置,stdout和上面对应 log4j.appender.st原创 2017-12-16 12:49:51 · 4698 阅读 · 0 评论 -
mybatis缓存查找顺序
缓存查找顺序二级缓存一级缓存数据库原创 2017-12-19 10:58:20 · 828 阅读 · 0 评论