mybatis
Yes_JiangShuai
默默奋斗的攻城狮 向往掌握技术而不限于技术
展开
-
mybatis的架构介绍
一、jdbc原生开发中存在的问题1、数据库连接频繁的创建和关闭,缺点浪费数据库的资源,影响操作效率设想:使用数据库连接池 2、sql语句是硬编码,如果需求变更需要修改sql,就需要修改java代码,需要重新编译,系统不易维护。设想:将sql语句统一配置在文件中,修改sql不需要修改java代码。 3、通过preparedStatement向占位符设置参数,存在硬编码原创 2017-06-12 10:48:40 · 433 阅读 · 0 评论 -
mybatis之#{}与${}小结
#{}:标识一个占位符,向占位符输入参数,mybatis自动进行java类型和jdbc类型的转换,程序员不需要考虑参数的类型,比如传入字符串,mybatis最终拼接好的sql就是参数两边加单引号${}:标识sql的拼接,通过${}接收参数,将参数的内容不加任何修饰拼接在sql中。例如: select * from user where id = #{id} 等效于原创 2017-09-04 10:10:18 · 1946 阅读 · 0 评论 -
mybatis入门程序
1、工程结构:2、核心配置文件:SqlMapConfig.xml<!DOCTYPE configurationPUBLIC "-//mybatis.org//DTD Config 3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd">原创 2017-09-04 10:16:01 · 501 阅读 · 0 评论 -
mybatis插入一条记录,返回自增主键值
例如,user表中的id字段设置为自增,在插入一条记录后,希望返回自动生成的主键值,做法如下:/** * 添加用户 向数据库添加一条记录 */ @Test public void addUser(){ User user = new User(); user.setAddress("某某某村村村"); user.setBirthday(new Date()); us原创 2017-09-04 11:05:23 · 570 阅读 · 0 评论 -
mybatis编写POJO包装类型扩展parameterType字段
之前我们所做的查询,都是借助一个pojo类来传递参数到sql语句中,但现实的项目场景中,查询条件往往很复杂,比如:查询条件可以有user信息,商品信息,订单信息等。这时候,就需要我们来编写pojo的包装器类型来封装更多的查询条件字段。1、先在mapper.xml中定义sql语句,如下:<!-- 自定义查询条件查询,借助定义pojo包装类型实现 parameterType:指定包装原创 2017-09-05 09:42:56 · 1643 阅读 · 2 评论 -
mybatis动态Sql(if-where)和sql片段
动态SQL可以极大地便利我们的综合查询: select * from user and username like '%${userCustom.username}%' and sex = #{userCustom.sex}原创 2017-09-05 13:15:11 · 3010 阅读 · 0 评论 -
mybatis中foreach的使用
and username like '%${userCustom.username}%' and sex = #{userCustom.sex} <!-- 最终拼接的效果: select id,username,birthday From user where username like "%小明%" and id in(16,22,2原创 2017-09-05 13:56:14 · 543 阅读 · 0 评论 -
mybatis之resultMap实现一对一查询
1、pojo类package com.js.mybatis.po;/** * 用户po类 * 单独使用mybatis时,mapper.xml中的OGNL表达式通过getter()方法来读取pojo类的属性值 * 当mybatis和spring整合时,spring通过反射来读取pojo类的属性值 */import java.util.Date;public class User原创 2017-09-05 15:25:51 · 870 阅读 · 0 评论 -
mybatis复杂一对多映射配置示例
1、先看下各个POJO类:package com.js.mybatis.po;/** * 用户po类 * 单独使用mybatis时,mapper.xml中的OGNL表达式通过getter()方法来读取pojo类的属性值 * 当mybatis和spring整合时,spring通过反射来读取pojo类的属性值 */import java.util.Date;import java.u原创 2017-09-09 10:20:45 · 527 阅读 · 0 评论