MyBatis
mercies
这个作者很懒,什么都没留下…
展开
-
RBAC基于角色的访问控制
文章目录1. RBAC(Role-Based Access Control)的作用: 1. RBAC(Role-Based Access Control)的作用: 基于角色权限控制(RBAC)是面向企业安全策略的访问控制方式。 RBAC核心思想是将控制访问的资源(系统中可以使用的功能,上传下达的文件,URL网址)与角色(Role)进行绑定。 系统的用户(user)与角色(Role)再进行绑定,用户便拥有对应的权限 ...原创 2020-12-17 14:26:20 · 193 阅读 · 0 评论 -
MyBatis之注解
利用注解简化配置 1.常用的注解 注解可以替代掉原有的XML的各种标签,在程序中利用注解进行开发, 简化程序的配置过程。 注解 对应XML 说明 @Insert <insert> 新增SQL @Update <update> 更新SQL @Delet <delete> 删除SQL @Select <select> 查询SQL @Param – 参数映射 @Results <resultMap> 结果映射 @原创 2020-12-10 17:05:55 · 249 阅读 · 0 评论 -
MyBatis之批处理
1. 批量插入操作 goods.xml文件 <insert id="batchInsert" parameterType="java.util.List"> <!-- foreach 是专门对parameterType传入中的list集合进行遍历的--> INSERT INTO t_goods(title, sub_title, original_cost, current_price, discount, is_free_delivery, categ原创 2020-12-10 15:35:18 · 610 阅读 · 0 评论 -
MyBatis配置C3P0连接池
创建C3P0DataSourceFactory类 package com.mybatis.datasource; import com.mchange.v2.c3p0.ComboPooledDataSource; import org.apache.ibatis.datasource.unpooled.UnpooledDataSourceFactory; /** * C3P0与MyBatis兼容使用的数据源共创类 */ public class C3P0DataSourceFactory exten原创 2020-12-07 21:50:20 · 111 阅读 · 0 评论 -
不同数据库的分页实现原理
文章目录1. MySQL分页2. Oracle3. SQLServer 20003. SQLServer 2012+ 1. MySQL分页 select * from table limit 10, 20 10代表起始行号,20代表从起始行号开始向后多少条数据 2. Oracle select t3. *from( select t2.* , rownum as row_num from( select * form table order by id asc )t2 where rownum<=20原创 2020-12-07 21:26:01 · 315 阅读 · 1 评论 -
MyBatis之OneToMany对象关联查询
1 对多关联查询 创建t_goods_detail.xml文件 <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="goodsDetail"> <s原创 2020-12-07 19:23:38 · 915 阅读 · 0 评论 -
MyBatis之二级缓存
文章目录Mybatis的二级缓存二级缓存运行规则二级缓存字段详细解释 Mybatis的二级缓存 一级缓存默认开启,缓存范围SqlSession会话 耳机缓存手动开启,属于范围Mapper Namespace 二级缓存运行规则 1.二级开启后,默认所有查询操作均使用缓存 2.写操作commit提交时,对该namespace缓存强制清空,这么做是为了保证数据的一致性。 3. 配置useCache=false可以不用缓存 4. 配置flushCache=true代表强制清空缓存 一级缓存测试 @Test原创 2020-12-07 15:18:37 · 802 阅读 · 0 评论 -
Mybatis之预防SQL注入攻击
文章目录1. 什么是SQL注入攻击2. MyBatis两种传值方式3. ${} 方式的问题4. #{} 方式 1. 什么是SQL注入攻击 sql注入是指攻击者利用SQL漏洞,绕过系统约束,越权获取数据的攻击方式 2. MyBatis两种传值方式 ${} 文本替换,未经任何处理对SQL文本替换 #{} 预编译传值,使用预编译传值可以预防SQL注入 3. ${} 方式的问题 goods.xml文件中 <select id="selectByTitle" parameterType="java.u原创 2020-12-06 15:59:29 · 212 阅读 · 3 评论 -
Mybatis之更新与删除操作
####1. 更新操作 <update id="update" parameterType="com.mybatis.entity.Goods"> UPDATE t_goods SET title = #{title}, sub_title = #{subTitle}, original_cost = #{originalCost}, current_price = #原创 2020-12-06 15:24:49 · 237 阅读 · 0 评论 -
MyBatis之selectKey与useGeneratedKeys的区别
文章目录selectKey属性用法useGeneratedKeys属性用法二者的区别1 --显示与隐示二者的区别2 --应用场景不同在Oracle中selectKey的用法总结 selectKey属性用法 <insert id="insert" parameterType="com.mybatis.entity.Goods"> insert into t_goods(title, sub_title, original_cost, current_price, discount,原创 2020-12-06 14:47:13 · 616 阅读 · 0 评论 -
MyBatis之数据插入操作
在goods.xml中添加insert标签 <insert id="insert" parameterType="com.mybatis.entity.Goods"> insert into t_goods(title, sub_title, original_cost, current_price, discount, is_free_delivery, category_Id) values(#{title}, #{subTitle}, #{originalC原创 2020-12-06 14:12:32 · 1155 阅读 · 0 评论 -
MyBatis之ResultMap结果映射
多表联合查询时,返回结果可能是多个表,所以采用ResultMap对结果进行接收, resultMap使用时,需要先重新建立一个类,包含输出结果的类,如GoodsDTO类, 里边既有Goods类的数据,也有Category类的数据 package com.mybatis.dto; import com.mybatis.entity.Category; import com.mybatis.entity.Goods; // Data Transfer Object 数据传输对象 public class G原创 2020-12-06 10:13:03 · 205 阅读 · 0 评论 -
MyBatis之获取多表关联查询结果
在goods.xml文件中增加 <!-- 利用LinkedHashMap保存对表关联结果 MyBatis会将每一条记录包装为LinkedHashMap对象 Key是字段名,value是对应字段的值,字段类型根据表结构进行自动判断 优点:易于扩展,易于使用 缺点:太过灵活,无法进行编译时检查 --> <select id="selectGoodsMap" resultType原创 2020-12-05 21:46:10 · 214 阅读 · 0 评论 -
MyBatis之参数传递
文章目录1. MyBatis之单参数传递2. MyBatis之多参数传递 1. MyBatis之单参数传递 在goods.xml文件中的goods下的空间下在增加一个select块 <select id="selectById" parameterType="Integer" resultType="com.mybatis.entity.Goods"> select * from t_goods where goods_Id = #{value} </select&原创 2020-12-05 21:15:16 · 98 阅读 · 0 评论 -
MyBatis之初始化工具类和数据查询步骤
1. 初始化工具类MyBatisUtils SqlSessionFactory: SqlSessionFactory是MyBatis的核心对象 用于初始化MyBatis,创建SqlSession对象 保证SqlSessionFactory在应用中全局唯一 /** * MyBatisUtils 工具类,创建全局唯一的SqlSessionFactory对象 */ public class MyBatisUtils { // 利用static(静态) 属于类不属于对象,且全局唯一 priv原创 2020-12-05 20:44:06 · 199 阅读 · 1 评论 -
MyBatis之环境配置
文章目录1. mybatis-config.xml2. SqlSessionFactory3. SqlSession 1. mybatis-config.xml 首先MyBatis配置文件的名称为:mybatis-config.xml MyBatis采用XML格式配置数据库环境信息 MyBatis环境配置标签为<environment> environment 包含数据库驱动、URL、用户名与密码 <?xml version="1.0" encoding="UTF-8" ?> &原创 2020-12-05 20:43:27 · 234 阅读 · 0 评论 -
MyBatis之入门介绍
文章目录1. 什么是MyBatis2. MyBatis开发流程 1. 什么是MyBatis MyBatis是最优秀的持久层框架:将内存中的数据保存到数据库中,以防止重启后数据丢失. MyBatis使用XML将SQL与程序解耦,便于维护:用XML文件保存应用程序中使用到的SQL语句,SQL是单独被维护和管理的。通过MyBatis提供的方法来完成与SQL的交互工作。有问题时只需要打开XML文件进行修改 MyBatis学习简单,执行高效,是JDBC的延伸: 2. MyBatis开发流程 引入MyBatis依赖原创 2020-12-05 14:33:17 · 74 阅读 · 0 评论