Mybatis
文章平均质量分 54
学习Mybatis笔记
五月CG
蜗牛没有窝~~
展开
-
idea__MyBatis框架19——注解开发(一对多)
一、因为一个用户可以有多个账户,所以在User实体类中配置Accounts关系映射,并生成get、set方法。二、接着在IAccountDao接口中写一个根据id查询账户的方法。三、回到IUserDao接口中配置我们的查询所有方法。四、到测试类,运行查询所有用户,没有问题,用户跟账号都出来了。五、但是我们这里的一对多是配置延迟加载的,那么我们就看一下延迟加载究竟行不行,把循环输出注释掉,我们发现只执行了一条sql语句,没有用到的部分,并没有执行,延迟加载没有问题。————————创作不原创 2021-05-07 22:31:30 · 334 阅读 · 0 评论 -
idea__MyBatis框架18——注解开发(一对一)
…原创 2021-05-07 22:30:44 · 395 阅读 · 0 评论 -
idea__MyBatis框架17——注解开发CRUD增删改查
注解开发CRUD增删改查一、增加用户(增)二、删除用户(删)三、修改用户信息(改)四、查询用户信息(查)1、根据id查询用户2、查询用户总数3、模糊查询根据用户名称模糊查询(通过拼接字符串的方法)根据用户名称模糊查询(通过%占位符的方法)————————创作不易,如觉不错,随手点赞,谢谢~~一、增加用户(增)直接看图片吧查看数据库,没有问题二、删除用户(删)还是直接看图片吧查看数据库。id为55的用户已删除三、修改用户信息(改)还是直接看图片查看数据库,id为54的用户信息原创 2021-04-30 21:45:23 · 333 阅读 · 2 评论 -
idea__MyBatis框架16——注解开发环境搭建跟(注解跟配置对应位置)
xml配置开发讲完了,接着注解开发,在我们的实际开发中,一般单表查询用注解,多表查询用xml配置。一、重新创建一个Maven工程,并且在pom.xml中导入对应的坐标二、创建User实体类,并生成get、set方法。三、创建接口,这里我们要注意了,完成的写法应该是下面的这一种写法,但是因为我们的value只有一个,所以我们可以省略value。四、配置主配置文件,并且导入jdbcConfig.properties跟log4j.properties文件。文件的内容跟之前的是一样的。五、创建我们原创 2021-04-30 01:57:06 · 315 阅读 · 0 评论 -
idea__MyBatis框架15—— 二级缓存
二级缓存:一、接着一级缓存,理解二级缓存:二、例子三、二级缓存的使用:————————创作不易,如觉不错,随手点赞,关注,(* ̄︶ ̄),谢谢~~一、接着一级缓存,理解二级缓存:二级缓存:它指的是Mybatis中SqlSessionFactory对象的缓存。由同一个SqlSessionFactory对象创建的SqlSession共享其缓存。如图:二、例子我们copy一份MybatisTest粘贴,重命名为:TwoCache内容做如下修改运行我们的测试方法,并没有实现二级缓存的效果原创 2021-04-26 03:44:46 · 345 阅读 · 0 评论 -
idea__MyBatis框架14——(一级缓存)
一级缓存:一、理解缓存二、演示一级缓存三、关闭一级缓存第一种方法:第二种方法:四、一级缓存补充————————创作不易,如觉不错,随手点赞,关注,(* ̄︶ ̄),谢谢~~一、理解缓存我们先来理解一下,什么是Mybatis中的缓存什么是缓存?存在于内存中的临时数据。为什么使用缓存?减少和数据库的交互次数,提高执行效率。什么样的数据能使用缓存,什么样的数据不能使用?适用于缓存: 经常查询并且不经常改变的。 数据的正确与否对最终结果影响不大的。不适用于缓存: 经常改变的数据原创 2021-04-26 03:17:12 · 297 阅读 · 0 评论 -
idea__MyBatis框架13——延迟加载
延迟加载:我们以我们之前的11——多表查询(一对一、一对多)为例来说。一对一实现延迟加载:一对多实现延迟加载:Mybatis中的延迟加载问题:在一对多中,当我们有一个用户,它有100个账户。 在查询用户的时候,要不要把关联的账户查出来? 在查询账户的时候,要不要把关联的用户查出来? 在查询用户时,用户下的账户信息应该是,什么时候使用,什么时候查询的。 在查询账户时,账户的所属用户信息应该是随着账户查询时一起查询出来。什么是延迟加载 在真正使用数据原创 2021-04-25 02:31:58 · 575 阅读 · 0 评论 -
idea__MyBatis框架12——多表查询(多对多)
多表查询(多对多):一、准备环境一、准备环境分析示例:用户和角色一个用户可以有多个角色一个角色可以赋予多个用户步骤:1、建立两张表:用户表,角色表让用户表和角色表具有多对多的关系。需要使用中间表,中间表中包含各自的主键,在中间表中是外键。2、建立两个实体类:用户实体类和角色实体类让用户和角色的实体类能体现出来多对多的关系各自包含对方一个集合引用3、建立两个配置文件用户的配置文件角色的配置文件4、实现配置:当我们查询用户时,可以同时得到用户所包含的角色信息当我们查询角色时,可以原创 2021-04-24 03:00:20 · 1508 阅读 · 0 评论 -
idea__MyBatis框架11——多表查询(一对一、一对多)
多表查询(一对一、一对多):一、准备环境二、一对一三、一对多一、准备环境mybatis中的多表查询表之间的关系有几种:一对多多对一一对一多对多举例:用户和订单就是一对多订单和用户就是多对一一个用户可以下多个订单多个订单属于同一个用户 人和身份证号就是一对一 一个人只能有一个身份证号 一个身份证号只能属于一个人 老师和学生之间就是多对多 一个学生可以被多个老师教过 一个老师可以交多个学生特例: 如果拿出每一个订单,他都只能属于一个用户。 所以Mybatis就原创 2021-04-21 01:28:01 · 2691 阅读 · 0 评论 -
idea__MyBatis框架10——动态Sql语句(if、where、foreach、sql标签)
我们之前已经讲过了基本的增删改查语句,现在我们来讲一下深一点的,动态sql语句。(if、where、foreach、sql)标签使用方法:一、if 标签二、where 标签三、foreach 标签四、sql 标签————————创作不易,如觉不错,随手点赞,关注,(* ̄︶ ̄),谢谢~~一、if 标签第一个举例:创建一个查询方法我们对传入的user中的username 进行判断,判断用户名是否为空,不为空就执行后面的sql语句运行测试方法,没有问题,数据查出来了第二个举例:有时候啊,我们不单原创 2021-04-19 03:57:00 · 1661 阅读 · 0 评论 -
idea__MyBatis框架09——自动提交事务
mybatis是可以设置自动提交事务的,但用得很少。这里演示一下吧,理解一下。看代码吧,一个true搞定。运行我们的测试方法打开我们的数据库,看一下,数据已经进来了。原创 2021-04-19 02:32:24 · 573 阅读 · 0 评论 -
idea__MyBatis框架08——连接池(POOLED 跟 UNPOOLED )
一、继续上一节,把一些不用的注释给清理掉,看一下我们的mybatis主配置文件,重点看type。二、Type详细介绍:mybatis连接池提供了3种方式的配置: type属性就是表示采用何种连接池方式。 type属性的取值: POOLED 采用传统的javax.sql.DataSource规范中的连接池,mybatis中有针对规范的实现 UNPOOLED 采用传统的获取连接的方式,虽然也实现Javax.sql.Da原创 2021-04-15 05:14:12 · 590 阅读 · 0 评论 -
idea__MyBatis框架07——(properties、typeAliases、package)标签使用方法
(properties、typeAliases、package)标签使用方法一、properties标签我们先在resource文件夹下创建一个jdbcConfig.properties文件,内容如下二、typeAliases标签三、package标签一、properties标签第一种用法:通过properties标签内部配置连接数据库的信息,如图运行测试方法,配置没有问题第二种用法:通过properties标签属性引用外部配置文件信息我们先在resource文件夹下创建一个jdbcConf原创 2021-04-15 03:12:14 · 856 阅读 · 0 评论 -
idea__MyBatis框架06——返回值深入
一、我们之前说过,我们的实体类必须跟数据库的列名是对应的,但如果不对应呢?我们来看个例子分析一下,我们修改我们的实体类,修改两个属性,重新生成我们的get,set方法,toString。二、我们运行测试方法,查询所有用户,我们会发现我们的实体类有两个属性没有跟数据库的列名对应——> 但是我们的userName没有问题,可以封装进来——> 但是我们的userid有问题,没有封装原因是: 一、在我们的 Windows 系统中,mysql是不区别大小写的!所以userNa原创 2021-04-14 02:53:44 · 463 阅读 · 0 评论 -
idea__MyBatis框架04——(补充查询,返回id值)
一、看图二、因为我们在设计我们的数据库的时候,id是自增长的。所以我们在一般插入数据的时候,获取不到用户的id。。那我们想插入用户的时候获取用户id的时候,就要用到一个标签嵌套。<selectkey> 这里面写的是sql语句,获取id </selectkey>如图:三、运行看下结果,没有问题,插入数据之后获取到了id...原创 2021-04-12 13:21:29 · 312 阅读 · 0 评论 -
idea__MyBatis框架05——参数的深入—使用实体类的包装对象作为查询条件
我们先来理解OGNL表达式:Object Graphic Navigation Language对象 —— 图 —— 导航 —— 语言它是通过对象的取值方法来获取数值。在写法上把get省略了。比如:我们获取用户的名称_______ ** 类中的写法:user.getUsername(); **_______ ** OGNL表达式写法: user.username **mybatis中为什么能直接写username,而不用user.呢:_______ ** 因为在parameterT原创 2021-04-12 13:22:40 · 632 阅读 · 0 评论 -
idea__MyBatis框架04——CRUD增删改查
CRUD增删改查一、增加用户(增)二、删除用户(删)三、修改用户(改)四、按条件查找(查)模糊查询根据用户的id查询查询返回一行一列(使用聚合函数)一、增加用户(增)直接看图片吧运行测试方法我们打开我们的数据库,发现插入的数据它是乱码的这个我们的解决方法是,在我们的SQLMapConfig.XML配置文件里面加上?characterEncoding=utf8这个时候我们再运行我们的测试方法,发现数据已经不乱码了二、删除用户(删)Id 为46的用户已经删除三原创 2021-04-12 02:57:46 · 317 阅读 · 0 评论 -
idea__MyBatis框架03——注解开发入门案例
上一节02的时候,我们是使用xml来进行的一个配置开发,现在我们在上一节的基础上改变一下,使用注解开发来演示一下一、在IUserDao.java下添加注解,内容为查询语句二、既然我们使用的是注解开发,那我们就要把之前的IUserDao.xml给移除掉(或者注释掉),同时在Mybatis主配置文件中的mapper配置时,使用class属性来指定dao接口的全限定类名。黄色为我们上一节的xml配置文件开发,紫色为我们这次注解开发演示,把上一次的配置文件给注释掉就可以了三、运行我们的测试类,一样能查询原创 2021-04-05 02:57:23 · 395 阅读 · 0 评论 -
idea__MyBatis框架02——第一个入门案例
log4j.properties 地址:链接:https://pan.baidu.com/s/1ojir8-zLdD0hxsYQktiToA提取码:1i75复制这段内容后打开百度网盘手机App,操作更方便哦一、将日志的配置文件放在resources文件夹下。二、配置IUserDao,添加返回的类型。三、创建一个测试类,main方法,进行查询所有。...原创 2021-04-03 14:48:58 · 185 阅读 · 0 评论 -
idea__MyBatis框架01——环境搭建
MyBatis环境搭建MyBatis是什么?为什么要学习MyBatis框架?第一步:创建maven工程并导入坐标第二步:创建实体类和dao接口第三步:创建Mybatis主配置文件(SqlMapConfig.xml)第四步:创建映射配置文件(IUserDao.xml)MyBatis是什么?mybatis是一个持久层框架,用java语言编写,mybatis封装了jdbc操作的很多细节,使开发者只需关注sql语句本身,不需要关注其他繁琐的事情为什么要学习MyBatis框架?一句话:学习框架的目的是为原创 2021-04-03 14:48:21 · 422 阅读 · 0 评论