随笔分类 -  MyBatis

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

点击右上角即可分享
微信分享提示