- 博客(124)
- 收藏
- 关注
原创 25、动态SQL之Foreach
### SQL片段有的时候,我们可能会将一些功能的部分抽取出来,方便复用!1.使用SQL标签抽取公共的部分<sql id="if-title-author"><if test="title != null">title = #{title}</if><if test="author != null">and author = #{...
2020-11-10 17:59:36
709
原创 24、动态SQL常用标签
注:只查title没问题结果只插入author就有问题了结果注end### trim (where,set)select * from mybatis.blog<where><if test="title != null">title = #{title}</if><if test="author != null"&...
2020-11-10 17:58:12
175
原创 16、Mybatis执行流程剖析
**Mybatis详细的执行流程!**注:由XMLConfigBuilder解析文件流build调用了XMLConfIGBuilder解析了流、环境、配置文件
2020-11-10 17:51:43
96
原创 15、使用注解开发
## 8、使用注解开发### 8.1、面向接口编程\- 大家之前都学过面向对象编程,也学习过接口,但在真正的开发中,很多时候我们会选择面向接口编程\-**根本原因 :==解耦== , 可拓展 , 提高复用 , 分层开发中 , 上层不用管具体的实现 , 大家都遵守共同的标准 , 使得开发变得容易 , 规范性更好**\- 在一个面向对象的系统中,系统的各种功能是由许许多多的不同对象协作完成的。在这种情况下,各个对象内部是如何实现自己的,对系统设计人员来讲就不那么重要了;\- 而各...
2020-11-10 17:50:59
110
原创 14、RowBounds分页
### 7.2、RowBounds分页不再使用SQL实现分页1.接口2.mapper.xml3.测试注:结果注end结果### 7.3、分页插件了解即可,万一 以后公司的架构师,说要使用,你需要知道它是什么东西!...
2020-11-10 17:50:01
170
原创 13、Limit实现分页
## 7、分页**思考:为什么要分页?**-减少数据的处理量### 7.1、使用Limit分页语法eg:每页显示2个,从0开始查输出查询0-3输出使用Mybatis实现分页,核心SQL1.接口```java//分页List<User> getUserByLimit(Map<String,Integer> map);```...
2020-11-10 17:48:58
283
原创 javaSE基础
https://blog.youkuaiyun.com/weixin_43495390/article/details/865334821.JAVA中的几种基本类型,各占用多少字节?Q:Java支持的数据类型有哪些?什么是自动拆装箱?2.String能被继承吗?为什么?不可以,因为String类有final修饰符,而final修饰的类是不能被继承的,实现细节不允许改变。平常我们定义的String str=”a”;其实和Str...
2020-10-21 21:22:54
212
原创 12、Log4j讲解
### 6.2、Log4j什么是Log4j?-Log4j是[Apache](https://baike.baidu.com/item/Apache/8512995)的一个开源项目,通过使用Log4j,我们可以控制日志信息输送的目的地是[控制台](https://baike.baidu.com/item/控制台/2438626)、文件、[GUI](https://baike.baidu.com/item/GUI)组件-我们也可以控制每一条日志的输出格式;-通过定义每一条日志信息的级...
2020-10-18 21:05:37
199
原创 11、日志工厂
## 6、日志### 6.1、日志工厂如果一个数据库操作,出现了异常,我们需要排错。日志就是最好的助手!曾经:sout 、debug现在:日志工厂!-SLF4J-LOG4J【掌握】-LOG4J2-JDK_LOGGING-COMMONS_LOGGING-STDOUT_LOGGING【掌握】-NO_LOGGING在Mybatis中具体使用那个一日志实现,在设置中设定!**STDOUT_LOGGING标准日志输出...
2020-10-18 21:05:00
131
原创 10、ResultMap结果集映射
## 5、解决属性名和字段名不一致的问题### 1、 问题数据库中的字段新建一个项目,拷贝之前的,测试实体类字段不一致的情况拷配置文件以上就拷贝好了实体类重新写一下这里精简一下,只留一个根据id查询用户测试出现问题解决方法:-起别名不过上面是最笨的解决方式输出插曲:代码优化一下插曲end#...
2020-10-18 21:04:28
124
原创 9、生命周期和作用域
生命周期,和作用域,是至关重要的,因为错误的使用会导致非常严重的**并发问题**。**SqlSessionFactoryBuilder:**-一旦创建了 SqlSessionFactory,就不再需要它了-局部变量**SqlSessionFactory:**-说白了就是可以想象为 :数据库连接池-SqlSessionFactory 一旦被创建就应该在应用的运行期间一直存在,**没有任何理由丢弃它或重新创建另一个实例。**-因此 SqlSes...
2020-10-18 21:03:07
110
原创 8、配置之映射器说明
### 6、其他配置### 7、映射器(mappers)MapperRegistry:注册绑定我们的Mapper文件;方式一: 【推荐使用】方式二:使用class文件绑定注册注意点:-接口和他的Mapper配置文件必须同名!-接口和他的Mapper配置文件必须在同一个包下!方式三:使用扫描包进行注入绑定注意点:-接口和他的Mapper配置文件必须同名!-接口和他的Mapper配置文件必须在同一个包下!...
2020-10-18 21:02:37
128
原创 7、配置之别名优化
### 4、类型别名(typeAliases)-类型别名是为 Java 类型设置一个短的名字。-存在的意义仅在于用来减少类完全限定名的冗余。现在这里就可以改成别名也可以指定一个包名,MyBatis 会在包名下面搜索需要的 Java Bean,比如:扫描实体类的包,它的默认别名就为这个类的 类名,首字母小写!在实体类比较少的时候,使用第一种方式。如果实体类十分多,建议使用第二种。第一种可以DIY别名,第二种则·不行·,如果...
2020-10-18 21:01:53
138
原创 6、配置之属性优化
P6 6、配置之属性优化新建一个项目配置文件和工具类从mybatis-01中拷贝过来实体类拷贝过来接口测一下没问题,这个环境就好了### 2、环境配置(environments)MyBatis 可以配置成适应多种环境**不过要记住:尽管可以配置多个环境,但每个 SqlSessionFactory 实例只能选择一种环境。**学会使用配置多套运行环境!Mybatis默认的事务管理器就是 ...
2020-10-18 21:01:21
158
原创 5、Map和模糊查询拓展
假设,我们的实体类,或者数据库中的表,字段或者参数过多,我们应当考虑使用Map!注:也可以这么写通过map可以随意修改参数但是通过对象需要写出来对象的所有东西注end测试Map传递参数,直接在sql中取出key即可!【parameterType="map"】对象传递参数,直接在sql中取对象的属性即可!【parameterType="Object"】只有一个基本类型参数的情况下,可以直接在sql中取到!...
2020-10-18 21:00:43
125
原创 3、增删改查实现
上集回顾:配置文件中namespace中的名称为对应Mapper接口或者Dao接口的完整包名,必须一致将UserDao接口改名为UserMapper这里相应也要改### 1、namespacenamespace中的包名要和 Dao/mapper 接口的包名一致!### 2、select选择,查询语句;-id : 就是对应的namespace中的方法名;-resultType:Sql语句执行的返回值!-par...
2020-10-18 20:58:55
128
原创 33、整合Mybatis框架
测试运行这就连接上了连接数据库3、测试数据库是否连接成功! 6、对应的Mapper映射文件 //classpath指的resources启动项目访问进行测试! 插曲:然后再练习一下增删改...
2020-10-10 16:33:50
103
原创 31、整合JDBC使用
把这几个没用的删除注:刚才没导入web依赖现在导入一个web依赖注end到此,CURD的基本操作,使用 JDBC 就搞定了。注:把perms这一列删除注end查询增...
2020-10-10 14:16:43
124
原创 28、员工管理系统:删除及404处理
List.html测试OK相信大家学到这里,SpringBoot的单体应用开发基本就没有问题了!但是还是那句话,学会技术只是浅层次的东西,要消化理解我的思想方法,这才是最有价值的点!...
2020-10-10 14:13:27
193
原创 26、员工管理系统:增加员工实现
add.html注:上面改为department.id注end效果:注:我们选择的时候提交是提交的value=${dept.getId()},就是提交的这个数字注end注意,这里是post方式...
2020-10-05 16:33:14
317
原创 25、员工管理系统:展示员工列表
我们启动项目,测试一下看是否能够跳转,测试OK!我们只需要将数据渲染进去即可!3、启动再次测试,可以看到已经成功加载过来了!将之前的dashboard.html里面的导航栏和侧边栏代码放在commons.html里面...
2020-10-05 16:32:22
567
原创 24、员工管理系统:登录拦截器
//.excludePathPatterns 放行的哪些资源账户名输入秦疆这里就显示秦疆然后我们登录测试拦截!完美! 我们如果之前没有登录,访问main.html就会被拦截...
2020-10-05 16:31:10
85
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人