Mybatis
放肆的青春゛つ
做最好的自己---在校生一枚,写博客作为复习巩固,有错还请指教
展开
-
Mybatis全局配置
配置有许多,这里只是讲解一些比较常用的并且重要的。properties(属性)properties一般是引入外部配置,常用就是引入数据库配置文件,例如在resources目录下创建db.properties文件如下:jdbc.driver=com.mysql.jdbc.Driver jdbc.url=jdbc:mysql://localhost:3306/userjdbc.username=root jdbc.password=1234<configuration>原创 2020-10-07 16:35:08 · 255 阅读 · 0 评论 -
Mybatis 的输出结果封装
resultType 配置结果类型resultType 属性可以指定结果集的类型,它支持基本类型和实体类类型。它和 parameterType 一样,如果注册过类型别名的,可以直接使用别名。没有注册过的必须 使用全限定类名。当是实体类名称时,还有一个要求,实体类中的属性名称必须和查询语句中的列名保持一致,否则无法 实现封装。例如返回是基本类型:<select id="findAll" resultType="com.Ycy.domain.User"> sel..原创 2020-10-07 16:35:20 · 170 阅读 · 1 评论 -
Mybatis 的参数深入
parameterType 配置参数用于指定传入参数的类型,如果传入一个类的对象,所以类型就写类的全限定名称。该属性的取值可以 是基本类型、引用类型(例如:String 类型)、还可以是实体类类型(POJO 类)。同时也可以使用实体类的包装类。mybaits 在加载时已经把常用的数据类型注册了别名,从而我们在使用时可以不写包名, 而我们的是实体类并没有注册别名,所以必须写全限定类名。在 mybatis 的官方文档也是可以查看的:别名 映射的类型 _byte byte..原创 2020-10-07 16:34:20 · 185 阅读 · 1 评论 -
JDBC和mybatis的对比及解决
JDBC存在的问题1.、数据库连接创建、释放频繁造成系统资源浪费从而影响系统性能,如果使用数据库连接池可解决此问题。2、Sql语句在代码中硬编码,造成代码不易维护,实际应用sql变化的可能较大,sql变动需要改变java代码。3、使用preparedStatement向占位符号传参数存在硬编码,因为sql语句的where 条件不一定,可能多也可能少,修改sql还要修改代码,系统不易维护。4、对结果集解析存在硬编码(查询列名), sql变化导致解析代码变化,系统不易维护,如果能将数据库记录封装原创 2020-09-28 23:11:47 · 215 阅读 · 0 评论 -
Spring和Mybatis整合导入的依赖
spring和mybatis整合需要导入的依赖:<dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> </dependency>原创 2020-08-16 11:00:58 · 3967 阅读 · 0 评论 -
Mybatis-解决属性名和字段名不一致问题
当数据库字段名和类属性名不一致时,查询的结果出现了null值数据库中的表如下users(id,username,password)Java类public class user { private int id; private String username; private String psw; @Override public String toString() { return "user{" + "i原创 2020-08-15 16:39:51 · 764 阅读 · 0 评论 -
Mybatis-动态SQL
什么是SQL:动态SQL指的是根据不同的查询条件,生成不同的sql语句。< if >< where>< foreach>< choose >(when otherwise)if 语句语法:< if test=“判断Java对象的属性值”> 部分sql语句< /if>test="判断条件"条件为真就加上sql语句如果我们需要根据姓名和学号来查询学生,如果姓名为空,那么就根据学号原创 2020-08-15 16:22:05 · 133 阅读 · 0 评论 -
Mybatis注解开发
注释开发SQL类型主要分成:@select()@update()@insert()@delete()在之前的开发中,我们使用mybatis,需要1,配置文件2,然后创建dao接口,定义方法3,再然后就要创建mapper.xml文件,在mapper.xml文件中编写sql语句,4,最后再把mapper文件配置在mybatis主配置文件中就可以进行测试了首先修改主配置文件,。由之前 < mapper resource=“cn/com/dao/IUserDao.xml”/>原创 2020-08-15 14:54:38 · 119 阅读 · 0 评论 -
Mybatis模糊查询LIKE的常用两种方式
在mybatis中使用模糊查询like还是比较的方便,灵活的1、第一种方式 :在Java代码指定拼接内容在接口中List<user>selectLike(String name); @Test public void selectLike(){ SqlSession sqlSession = mybatisUtils.getSqlSession(); userDao user = sqlSession.getMapper(userDao.原创 2020-08-15 14:17:11 · 750 阅读 · 0 评论 -
Mybatis面试题(一)
1、什么是 MyBatis?答:MyBatis 是一个可以自定义 SQL、存储过程和高级映射的持久层框架。可以自定义SQL:1.、使用注解 2、使用xml存储过程:调用mysql中创建的存储过程高级映射:关联多张表的处理2、Mybatis 动态sql是做什么的?都有哪些动态sql 能简述一下动态 sql 的执行原理不?1)Mybatis 动态 sql 可以让我们在 Xml 映射文件内,以标签的形式编写动态 sql,完成逻辑判断和动态拼接 sql 的功能。2)Mybatis 提供.原创 2020-07-22 23:17:53 · 252 阅读 · 0 评论 -
Mybatis面试题(二)
Mybatis的前12道的连接:https://blog.csdn.net/weixin_43725517/article/details/10752494511、Mybatis 是否支持延迟加载?如果支持,它的实现原理是什么?答:1)Mybatis 仅支持 association 关联对象和 collection 关联集合对象的延迟加载,association指的就是一对一,collection 指的就是一对多查询。在 Mybatis 配置文件中,可以配置是否启用延迟加载 lazyLo原创 2020-07-27 18:16:10 · 148 阅读 · 0 评论 -
Mybatis联合查询详解
按连接查询关联关系反应到数据库中是主外键关系,外键肯定是定义在多方的,某个表中有外键,一定和某个表存在主外键关系,也就是充当着多方。1、一对多的处理一对多的理解 一个老师有多个学生...原创 2020-07-25 22:47:14 · 3216 阅读 · 1 评论 -
Mybatis多表连接查询字段相同内容被覆盖的问题
在mybatis的多表连接查询时,两表出现字段相同时,查询的结果会被覆盖。如图所示:解决方法就是把一个表的相同字段,在查询的时候取个别名问题虽小,但是一直在找错。。。原创 2020-07-25 17:27:15 · 1070 阅读 · 0 评论 -
Mybatis的xml配置开发详解
1、XML配置开发sql映射(sql mapper) 可以把数据库表中的一行数据 映射为 一个Java对象在当前文件中,可以使用特定的标签,表示数据库的特定操作:表示执行查询 放的是select语句:表示更新数据库的操作 放的是update语句:表示插入 放的是insert语句:表示删除,放的是delete语句 <select id="findAll" resultType="cn.Ycy.com.mybatis.dao.userDao"> select原创 2020-07-21 00:41:50 · 196 阅读 · 0 评论 -
MyBatis向sql传参数
1. 传单个参数时直接在sql语句中使用参数名字或参数索引即可接口中的方法:List<user>selectAll2(Integer id);mapper文件:<select id="selectAll2" resultType="cn.com.Ycy.mybatis.domain.user"> select * from user where id =#{id};</select>在测试中: @Test public void testS原创 2020-07-19 15:04:17 · 2312 阅读 · 1 评论