![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java框架
文章平均质量分 57
框架学习展示
摆渡人wqh
这个作者很懒,什么都没留下…
展开
-
2.15 Mybatis——权限管理模拟添加(下)
目录问题描述知识点补充:1.获取添加操作中自动生成字段的值方法: 2.批量执行多条sql代码实现问题描述依旧使用之前权限管理登录模拟的案例,进行添加用户并选择用户角色,添加用户表的同时用户_角色中间表(t_user_role)也要添加相应的用户信息,一个用户可以有多个角色(动态sql遍历)。知识点补充:1.获取添加操作中自动生成字段的值方法: useGeneratedKeys...原创 2021-07-12 22:59:34 · 397 阅读 · 1 评论 -
2.15 Mybatis——权限管理模拟登陆练习(中)
方式二:此处采用一对多的方式二,通过一条sql语句查出用户对应的角色和菜单信息。代码实现:UserDao层方法://方式二:一句sql——传入两个参数——通过用户名、密码登录User login01(@Param("uname") String uname,@Param("pwd") String pwd);UserMapper.xml:通过两层collection集合映射实现。<mapper namespace="com.zx.dao.UserDao">原创 2021-07-12 22:59:24 · 100 阅读 · 0 评论 -
2.14 Mybatis——动态sql
目录1. if2.choose(when, otherwise)3.Where(if)——常用4.自定义 trim5.Set——动态更新语句6.Foreach——对集合进行遍历根据不同条件拼接 SQL 语句。Mybatis动态sql常用元素:用于查询语句:ifchoose(when, otherwise)...原创 2021-07-12 21:56:02 · 126 阅读 · 1 评论 -
2.15 Mybatis——权限管理模拟登陆练习(上)
问题描述用户(User)、角色(Role)、菜单功能(Menu)分别建立三张表,并建立用户_角色中间表(t_user_role),角色_菜单中间表(t_role_menu),通过用户登录,通过判断角色类型,查出对应的角色和菜单信息。一个用户可以有多个角色,一个角色有多个功能菜单。(多表联查——多对多)数据库设计实体类分析设计User实体类:一个用户可以有多个角色,所以在User实体类中将角色的集合List<Role> roles作为User的属性,并写出get.原创 2021-07-12 22:59:11 · 181 阅读 · 1 评论 -
2.13 Mybatis——缓存策略
1. 缓存种类一级缓存 SqlSession缓存默认开启) SqlSession关闭后(sqlSession.close()),缓存消失。二级缓存 SqlSessionFactory缓存当二级缓存开启后,同一个命名空间(namespace) 所有的操作语句,都影响着一个共同的 cache,也就是二级缓存被多个 SqlSession 共享,是一个全局的变量。当开启缓存后,数据的查询执行的流程就是 二级缓存 -> 一级缓存 -> 数据库。2. 二...原创 2021-07-12 00:02:16 · 604 阅读 · 3 评论 -
2.12 Mybatis——一对多抓取策略
1.情况描述如果只需要使用一方中的数据,而不使用多方数据的情况下,在执行过程中不需要发送查询多方的sql语句,需要配置抓取策略为懒加载。2.适用情况适用于一对多的方式一,通过多条sql查询情况。3.抓取策略fetchType(collection集合映射标签内属性)懒加载(延迟加载):fetchType="lazy"。 及时加载 (默认):fetchType="eager"。4. 实例演示以2.9...原创 2021-07-11 23:33:42 · 128 阅读 · 0 评论 -
2.11 Mybatis——多对多集合映射处理(2)
1.通过教师,查询学生信息,使用一对多的第二种方式,通过一句sql语句。2.实例展示问题描述:通过教师tid,查询学生信息。数据库:student_teacher为中间表代码实现:(1)教师实体类Teacher.java:将学生实体类的集合List<User>作为Teacher实体类的对象。 private List<Student> students; public List<Student> getSt.原创 2021-07-11 23:33:29 · 191 阅读 · 0 评论 -
2.11 Mybatis——多对多集合映射处理(1)
1.通过学生查询教师信息,使用一对多的第一种方法。2.实例展示:问题描述:通过学生sid查询老师信息。数据库e-r图:代码实现:学生实体类Student.java:将教师实体类的集合作为学生的属性。 private List<Teacher> teachers; public List<Teacher> getTeachers() { return teachers; } public v.原创 2021-07-11 23:33:22 · 129 阅读 · 0 评论 -
2.7 Mybatis——返回值处理
1.返回值为自定义对象类型2.返回值为自定义对象的一个属性返回值类型为具体返回属性的数据类型。(1)Dao层方法:(2)Dao层对应的映射文件:(3)运行测试:3.返回值为自定义对象多个属性的值方法一:使用HashMap接收dao层方法:dao层的映射文件:运行测试:测试结果:方法二:使用对象接收dao层方法: //返回值为自定义对象多个属性的值——使...原创 2021-07-11 12:20:01 · 3076 阅读 · 1 评论 -
2.9 Mybatis——一对多集合映射——方式二
1.准备实体类一对多写集合,用户实体User的集合List<User>作为分组实体类Groups的属性,并写出对应的get、set方法,不要在toString方法重写。2.方式二:通过一条sql语句查询方式二:发送一次sql语句,进行联表查询,需要注意SQL语句的性能,不需要使用select属。注:column属性值需要与sql语句内的字段别名(有别名时)相同。 collection——集合映射标签 出现在“一”方 属性colum...原创 2021-07-11 12:21:02 · 579 阅读 · 0 评论 -
2.10 Mybatis——关联映射与集合映射区别
多对一关联映射与一对多集合映射区别(1)多对一,多的一方 实体类中将一的一方是实体类的对象作为属性; 一对多,一的一方 实体类中将多的一方是实体类的集合(例如List<User>)作为属性;(2)多对一关联映射使用association标签; 一对多集合映射使用collection标签。(3)多对一关联映射association标签返回值类型使用javaType属性; 一对多集合映射使用collection标签返回值类型使...原创 2021-07-11 12:21:16 · 197 阅读 · 0 评论 -
2.9 Mybatis——一对多集合映射——方式一
目录1.准备实体类2.查询方式一:通过两条简单sql语句查询3.实例展示1.准备实体类一对多写集合,用户实体User的集合List<User>作为分组实体类Groups的属性,并写出对应的get、set方法,不要在toString方法重写。2.查询方式一:通过两条简单sql语句查询resultMap 如果返回值中有其他对象的属性时使用 属性 id id的值=selecct标签内resultMap的值 属性type...原创 2021-07-11 12:20:51 · 353 阅读 · 1 评论 -
2.8 Mybatis——多对一关联映射——方式二
方式二:通过一条sql查询。原创 2021-07-11 12:20:37 · 108 阅读 · 0 评论 -
2.8 Mybatis——多对一关联映射——方式一
<mapper namespace="com.zx.dao.UserDao"> <!--resultType返回单个对象的属性 resultMap返回关联对象的属性 id属性值 = select标签内resultMap的值。 type属性值 方法返回值的类型。 子标签: id 主键标识(column——表中的字段,property——实体类中对应的属性) .原创 2021-07-11 12:20:24 · 210 阅读 · 1 评论 -
2.6 Mybatis——参数处理之sql注入
1.应用场景:查询满足某一不确定情况下的用户信息,具体查询属性以运行测试输入为准。2.实例问题描述:倒序查询User表中满足某一条件的用户信息,具体查询条件按运行测试输入属性为准。3.解决方法:(1)UserDao层方法:在具体方法形参前加入 @Param("str")。(2)UserDao.java的映射文件:在sql注入查询字段的位置写为${str}。(3)运行测试:4.关键代码展示:UserDao.java:package...原创 2021-07-10 16:51:52 · 393 阅读 · 0 评论 -
2.5 Mybatis——参数处理之多表联查
A、B两个相关联的表,查询A表中满足B表中某一属性值的信息。问题描述:用户表user和分组表group相关联,通过group表id查询user的信息。原创 2021-07-11 09:04:09 · 307 阅读 · 2 评论 -
2.3 Mybatis——封装创建SqlSession的方法
package com.xs.utils;import java.io.IOException;import java.io.InputStream;import org.apache.ibatis.io.Resources;import org.apache.ibatis.session.SqlSession;import org.apache.ibatis.session.SqlSessionFactory;import org.apache.ibatis.session.SqlSess.原创 2021-07-10 15:53:35 · 278 阅读 · 0 评论 -
2.2 Mybatis——注解开发
1.注解开发与xml开发区别: (1)注解开发不需要在resources下创建实体类映射文件(file)UserMapper.xml。 (2)注解开发的sql语句写在 dao层接口的方法上面xml开发sql语句写在dao层在resources层对应的.xml映射文件中。 (3)注解开发mybatis-config.xml的内的映射指向dao层接口的全限定路径,xml开发mybatis-config.xml的内的映射指向dao...原创 2021-07-10 15:52:48 · 76 阅读 · 0 评论 -
2.1 Mybatis——log4j日志文件应用
1.作用:实现控制台显示mybatis执行的sql语句。2.使用:log4j必须与对应的配置文件(log4j.properties)一起使用才能起作用。log4j.properties位于resources下。(直接在网上查找复制)原创 2021-07-10 15:52:10 · 105 阅读 · 0 评论 -
二、MaBatis——持久层框架
1. 简介MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Ordinary Java Object,普通的 Java对象)映射成数据库中的记录。2. 搭建第一个MaBatis工程整体项目结构:第一步:创建一个JavaMaven项...原创 2021-07-10 15:51:33 · 180 阅读 · 0 评论 -
2.4 Mybatis——参数处理
1.参数类型为基本类型或者字符串类型,而且个数为单个的时候。传参的过程中,#{}当中可以随意书写变量的名称。2.参数类型为自定义对象,而且个数为单个的时候。传参的过程中,#{}当中名称必须是自定义对象中的属性名(有相对应的get方法的属性)。3.参数个数为多个时,解决方法:(1)方法一:在映射文件对应sql语句的#{}中写固定框架底层的参数名称(param1、param2。。。)(2)方法二:参数的注解——在XXXDao方法的形参前追加@Param。(3)原创 2021-07-10 15:54:36 · 826 阅读 · 1 评论 -
一、 Maven——项目管理工具
1. 简介Maven是一个项目管理工具,它包含了一个项目对象模型 (POM:Project Object Model),一组标准集合,一个项目生命周期(Project Lifecycle),一个依赖管理系统(Dependency Management System),和用来运行定义在生命周期阶段(phase)中插件(plugin)目标(goal)的逻辑。2. Maven工程编译与测试 删除target文件:mvn clean 编译命令:mvn c...原创 2021-07-10 15:49:10 · 145 阅读 · 0 评论 -
1.1 Maven——Maven的环境安装
Maven的环境准备(需已安装JDK)(1)第一步:下载Maven安装包: 下载地址:http://archive.apache.org/dist/maven/maven-3/(2)第二步:解压Maven压缩包到准备的空文件夹(路径名中不要有中文没有中文没有空格的路径下)。如E:\JavaEE\apache-maven-3.5.2(3)第三步:新建一个空的文件夹作为本地仓库Repository。如 :E:\JavaEE\Repository(4)第四步:配置E:\..原创 2021-07-10 15:49:40 · 72 阅读 · 0 评论 -
1.3 IDEA创建一个MavenWeb项目
1.第一步:2.第二步:3.第三步:4.第四步:原创 2021-07-10 15:50:20 · 48 阅读 · 0 评论 -
1.2 IDEA创建一个MavenJava项目
1.选择configure。2.选择settings。3.选择Maven,配置Maven home directiory、User Settings files、Local repository的路径,然后Apply——>ok。4.选择Create New Project。5.Maven——>勾选Create from archetype——>选择maven-archetype-quickstart——>Next。注:“勾选Create from a原创 2021-07-10 15:50:03 · 155 阅读 · 0 评论