随笔分类 - MyBatis
摘要:使用注解可以把原来放在XML文件中的配置信息和SQL语句放在程序中,小型敏捷开发的工程可以使用注解,而大型的需要团队协作的项目要使用XML 1.在dao目录创建一个GoodsDAO接口 package com.imooc.mybatis.dao; import com.imooc.mybatis.d
阅读全文
摘要:批量插入数据 <insert id="batchInsert" parameterType="java.util.List"> insert into t_goods (title,sub_title,original_cost,current_price, discount,is_free_del
阅读全文
摘要:MyBatis的默认连接池是POOLED,如果要使用其他连接池 1.添加依赖 <dependency> <groupId>com.mchange</groupId> <artifactId>c3p0</artifactId> <version>0.9.5.4</version> </dependen
阅读全文
摘要:PageHelper是MyBatis中拓展插件,他能帮助我们自动完成分页查询的工作 PageHelper的使用流程 1.maven引入PageHelper和jsqlparser <dependencies> <!--5.1.10及以上版本的PageHelper需要2.0及以上的jsqlparser支
阅读全文
摘要:多表关联查询是两个表通过主外键在一条SQL中完成所有数据的提取,多表级联查询是指通过一个对象来获取与他关联的另外一个对象,执行的SQL语句分为多条。 首先确定实体关系是一对多或是多对一 OneToMany对象关联查询 1.在Many的Mapper XML文件添加SQL语句 <?xml version
阅读全文
摘要:一级缓存默认开启,缓存范围是SqlSession会话,二级缓存需手动开启,缓存范围是Mapper Namespace。在某个namespace中手动开启的二级缓存被所有SqlSession共享。二级缓存开启后默认所有查询操作均使用缓存,为保证数据的一致性,写操作commit提交时对该namespac
阅读全文
摘要:动态SQL是根据参数数据动态组织SQL的技术 Mapper XML: <select id="dynamicSQL" parameterType="java.util.Map" resultType="com.MyBatis.entity.Goods"> select * from t_goods
阅读全文
摘要:什么是日志? 日志就是系统运行的历史记录,日志文件是用于记录系统操作世事件的记录文件或文件集合,日志保存历史数据,是诊断问题以及理解系统活动的重要依据。 SLF4j与Logback 在Java中日志分为两部分:日志门面与日志实现。日志门面为Java提供了统一的日志调用接口,日志实现的组件提供了日志的
阅读全文
摘要:SQL注入攻击是指攻击者利用SQL漏洞,绕过系统约束,越权获取数据的攻击方式。 #SQL代码 " select * from a where name=' " +name+ " ' "; #正常情况,name:张三 select * from a where name='张三'; #SQL注入,na
阅读全文
摘要:1.创建mybatis-config.xml进行环境配置、全局设置、Mapper声明及其他配置信息 2.在初始化工具类MyBatisUtils中,通过SqlSessionFactoryBuilder.build() 创建一个全局唯一的SqlSessionFactory对象 3.通过SqlSessio
阅读全文
摘要:Mapper XML <insert id="insert" parameterType="com.MyBatis.entity.Goods"> INSERT INTO t_goods(title,sub_title,original_cost,current_price,discount,is_f
阅读全文
摘要:ResultMap可以将查询结果映射为复杂类型的Java对象 ResultMap适用于java对象保存多表关联结果 ResultMap支持对象关联查询等高级操作 扩展出一个对象对查询结果进行保存 创建一个dto包src-main-java-com-MyBatis-dto dto是一个特殊的JavaB
阅读全文
摘要:<!--利用LinkedHashMap保存多表关联结果 MyBatis会将每一条记录包装为LinkedHashMap对象 key是字段名 value是字段对应的值,字段类型根据表结构进行自动判断 优点:易于拓展,易于使用 缺点:太过灵活,无法进行编译时检查--> <select id="select
阅读全文
摘要:SQL传参有两种形式 首先在Mapper XML中编写<select>标签并书写SQL语句 <!--单参数传参,使用parameterType指定参数的数据类型,SQL中#{value}提取参数--> <select id="selectById" parameterType="Integer" r
阅读全文
摘要:MyBatis数据查询步骤: 1.创建实体类Entity(包含对象属性和get和set方法) 2.创建Mapper XML 3.在Mapper XML中编写<select>SQL标签(书写SQL语句) 4.在mybatis-config.xml中开启驼峰命名映射 5.在mybatis-config.
阅读全文
摘要:MyBatisUtils代码 /** * 创建全局唯一的SqlSessionFactory对象 */ public class MyBatisUtils { //利用static属于类不属于对象,且全局唯一 private static SqlSessionFactory sqlSessionFac
阅读全文
摘要:SqlSessionFactory是MyBatis的核心对象,用于初始化MyBatis,读取配置文件,创建SqlSession对象,SqlSessionFactory是全局对象,为保证其在应用中全局唯一,要使用static进行初始化 SqlSession是MyBatis操作数据库的核心对象,SqlS
阅读全文
摘要:首先在pom.xml中添加依赖,并添加阿里云镜像 <repositories> <repository> <id>aliyun</id> <name>aliyun</name> <url>https://maven.aliyun.com/repository/public</url> </repos
阅读全文