- 博客(14)
- 资源 (7)
- 收藏
- 关注
原创 MyBatis快速入门(十三):MyBatis注解开发
MyBatis注解开发MyBatis中常用的注解@Insert:实现插入@Update:实现更新@Delete:实现删除@Select:实现查询@Result:实现结果集封装@Results:可以与@Result一起使用,封装多个结果集@ResultMap:引用@Results定义的封装@One:实现一对一结果集封装@Many:实现一对多结果集封装@SelectProvid...
2020-02-26 13:58:14
211
原创 MyBatis快速入门(十二):MyBatis缓存策略
MyBatis缓存策略Mybatis提供了缓存策略,通过缓存策略来减少对数据库的查询次数,从而提高性能。 Mybatis中的缓存分为一级缓存,二级缓存。Mybatis一级缓存一级缓存是SqlSession级别的缓存:修改User类的测试文件,如下:/** * 测试一级缓存 */@Testpublic void testFindById() { User user1 = u...
2020-02-25 20:17:38
153
原创 MyBatis快速入门(十一):MyBatis延迟加载
MyBatis延迟加载什么是延迟加载?前面我们讲解Mybatis中的一对一,一对多,多对多关系的配置及实现,可以实现对象的关联查询。在实际使用中的大多数时间里查询用户信息时是不需要查询它的账户信息的。此时就可以使用延迟加载策略。就是在需要用到数据时才进行加载,不需要用到数据时就不加载数据。延迟加载也称懒加载。使用association实现的延迟加载这里我们使用前面讲到的账户和用户的一对一关...
2020-02-25 15:35:40
182
原创 MyBatis快速入门(十):MyBatis多表之多对多关联查询
MyBatis多表之多对多关联查询前面我们讲解了如何进行一对多查询,其实我们可以将多对多关系看成双向的一对多关系,不过多对多关系会产生一张中间表,表中记录了两关系表之间的主键的对应关系。在这里我们新建一张角色(role)表,语句如下。每个用户(User)可以拥有多个角色(Role),每个角色(Role)也可以对应多个用户(User),因此用户和角色是多对多关系。CREATE TABLE `r...
2020-02-24 20:14:24
349
原创 MyBatis快速入门(九):MyBatis多表之一对一关联查询
MyBatis一对一关联查询在上一篇文章中说到用户(User)和账户(Account)为之间是一对多关系,那么反过来账户(Account)和用户(User)之间其实就是一对一关系,因为一个账户只能属于一个用户,因此这里仍然使用user表和account表。修改Account类,在其中加入一个User类的对象来代表这个账户是哪个用户的,不要忘记添加getter和setter方法:package...
2020-02-24 18:45:13
176
原创 MyBatis快速入门(八):MyBatis多表之一对多关联查询
MyBatis一对多关联查询一对多关联查询是指在查询一方对象的同时把与它关联的多方对象也查询出来,这里以用户(User)和账户(Account)为例,一个用户可以有多个账户,一个账户只能属于一个用户,用户和账户是一对多关系。建议在开始之前,新建一个maven项目,将上一个工程的内容复制到新工程内,这样便于修改使用。新建account数据库表,语句如下:注意: 这里的uid是外键,关联use...
2020-02-24 16:59:13
180
原创 MyBatis快速入门(七):动态SQL语句
在执行查询操作时查询条件可能比较复杂,比如查询条件包括:username、sex、address。此时需要在sql语句中加上这三个查询条件。但是这三个条件来自用户输入,可能会缺少某些条件,可能只输入了一个,也可能输入了三个,此时使用动态SQL语句就可以解决这个问题,动态SQL语句会根据条件拼接sql语句。if标签if标签主要是判断某个条件是否存在,如下的示例中表示根据username和addr...
2020-02-23 18:46:32
175
原创 MyBatis快速入门(六):解决字段名和属性名不匹配问题
在实际开发中有时候会遇到数据库表中的字段名与实体类中的属性名不一致的情况,例如,我们修改User类如下,但是不改动数据库表中的字段package com.zfnotes.beans;import java.util.Date;public class User { private Integer userId; private String userName; ...
2020-02-22 20:49:16
350
原创 MyBatis快速入门(五):浅谈MyBatis映射文件
映射文件中的顶级元素cache – 对给定命名空间的缓存配置。cache-ref – 对其他命名空间缓存配置的引用。resultMap – 用来描述如何从数据库结果集中来加载对象。sql – 可被其他语句引用的可重用语句块。insert – 映射插入语句update – 映射更新语句delete – 映射删除语句select – 映射查询语句resultMap元素可以将数...
2020-02-22 19:46:47
159
原创 MyBatis快速入门(四):MyBatis单表之删、改、查
删除操作在持久层接口(UserDao)中添加删除方法,如下:/** * 删除用户 * @param id */void deleteUser(int id);在UserDao接口的映射配置文件中添加如下内容:<!--删除用户--><delete id="deleteUser" parameterType="java.lang.Integer"> ...
2020-02-22 17:08:28
239
原创 MyBatis快速入门(三):MyBatis单表之插入操作
插入(添加)操作在持久层接口中添加如下操作:/** * 保存用户 * @param user */void saveUser(User user);在User的映射文件中添加如下内容:<mapper namespace="com.zfnotes.dao.UserDao"> <!--保存用户--> <insert id="saveUse...
2020-02-22 14:50:38
755
2
原创 MyBatis快速入门(二):MyBatis主配置文件
MyBatis主配置文件主配置文件的主要内容和层级configuration(配置)properties(属性)propertysettings(设置)settingtypeAliases(类型别名)typeAliase(为单类设置别名)package (为某个包下的类自动成别名,别名为类名,不区分大小写)typeHandlers(类型处理器)objec...
2020-02-22 11:50:40
212
原创 MyBatis快速入门(一):第一个MyBatis程序
MyBatis简介MyBatis 是一款优秀的基于java的持久层框架,采用ORM思想解决了实体和数据库映射的问题,它封装了jdbc、支持定制化 SQL、存储过程以及高级映射。使开发者只需要关注sql语句本身,而不需要花费精力去处理加载驱动、创建连接、创建statement等繁杂的过程。mybatis通过xml或注解的方式将要执行的各种statement配置起来,并通过java对象和stat...
2020-02-21 21:19:26
908
原创 Markdown常用语法
Markdown标题使用 # 号标记一级标题对应一个 # 号,二级标题对应两个 # 号,后面紧跟一个空格# 一级标题## 二级标题### 三级标题#### 四级标题##### 五级标题###### 六级标题效果如下:一级标题二级标题三级标题四级标题五级标题六级标题Markdown段落markdown段落直接编写文字即可,没有特殊格式段落换行在段落结尾使用两...
2020-02-11 22:25:27
223
typora-setup-x64-0.9.94.exe
2020-08-29
pandoc-2.9.2.1-windows-x86_64.zip
2020-04-01
pandoc-2.9.1-windows-x86_64.zip
2019-12-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人