之前我们用的实体类的属性名和我们表中的列名实际上是一致的,但是实际开发过程中这样的情况比较少,之前是为了做演示所以才使用一致,方便查看,但实际开发过程中,这样的情况相对的比较少,所以就要使用下面这个标签
<resultMap> 标签
实际上就是解决列名和属性名不一致的问题
在mybatis中存在一个机制叫做自动映射机制(auto_mapping)
自动映射实际上就算mybatis中会将数据库中同名的列名和实体的属性名一一对应,如果找到就会自动赋值实体的属性上
在sql语句中取别名
select id use_id , usename userName from tb_user
使用resunltMap 标签
type:将来数据封装成的类型
id :唯一标识 /用于映射主键
result : 非主键使用result映射
column 数据库列名
property 实体属性名
<resultMap id="user" type="umap"> <!-- id用于映射主键 column 数据库列名 property 实体属性名 --> <id column="id" property="userId"/> <!-- 非主键使用result映射--> <result column="username" property="userName"/> <result column="password" property="passWord"/> </resultMap> <select id="sleUser" resultMap="umap"> select * from tb_user </select>
网站声明:如果转载,请联系本站管理员。否则一切后果自行承担。
事务是操作数据库的最小单元,应该保证一个事物中的sql语句要么同时成功,要么同时不成功mybatis中配置了事务管理器,type属性设置为JDBC.表示mybatis采用和原生JDBC相同的事务管理机制一般mybatis会关闭自动提交,所以在执行DML操作时需要手动提交这里就涉及到事务管理(ACID)谈到事务一般都是以下四点原子性(Atomicity)原子性是指事务是一个不可分割的工作单位,事务中
示例一般mybatis文件都是存放在src根目录下以mybatis.xml命名配置详情mybatis.org//DTDConfig3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd">
selectList用于查询多条数据的情况,返回值是一个list集合.如果没有查到任何数据,返回没有元素的集合(空集合,不是null)publicvoidtestSelectList()throwsIOException{//加载资源配置文件InputStreamis=Resources.getResourceAsStream("mybatis.xml");//创建工厂对象SqlSessionFa
除了导包外还要有配置文件一般用log4j.properties命名存放在src目录下一般是向上的,比如设置error级别就会显示包含error及以上的日志信息#设置log4j的根(整体)日志级别,同时指定日志输出的位置:CONSOLE表示控制台,LOGFILE表示日志文件log4j.rootCategory=ERROR,CONSOLE#如果需要打印到文件就解开下面一行的代码注释即可#log4j.r
mybatis也支持Properties这个标签位于mybatis.xml的配置文件主要作用是用于加载外部的properties文件用法:在src下新建db.properties文件jdbc.driver=com.mysql.cj.jdbc.Driverjdbc.url=jdbc:mysql://localhost:3306/mybatis?serverTimezone=U
参数类型,用于参数传递的查询mapper.xml:select*fromtb_userwhereusername=#{use
在我们实际开发过程中动态SQL的使用远多于静态是SQL(前面用的所有sql都是静态的,也就是一成不变的),而动态SQL是根据条件的不同,SQL语句也会随之动态的改变,ifif用于进行条件判断,test属性用于指定判断条件.为了拼接条件,在SQL语句后强行添加1=1的恒成立条件.但是会造成浪费资源等情况所以需要使用where标签来配合wherewhere用于管理where子句.有如下功能:a)如果没
set子句.有如下功能:a)如果有条件满足,会添加set关键字并执行sql语句b)如果第一个条件中有逗号,但后续的条件没有满足的,会自动去尾部逗号。c)如果修改条件都不满足就不生产set语句,出现错误,可以使用在set中添加id=#{id}来避免错误updatetb_user 添加我为好友,拉您入交流群! 请使用微信扫一扫!
添加我为好友,拉您入交流群!
请使用微信扫一扫!