1.Mybatis 初步 Mybatis 初步框架 Mybatis框架JDBC 问题的分析 数据库链接创建、释放频繁造成系统资源浪费从而影响系统性能,如果使用数据库链接池可解决此问题。 Sql 语句在代码中硬编码,造成代码不易维护,实际应用 sql 变化的可能较大,sql 变动需要改变 java 代码。 使用 preparedStatement 向占有位符号传参数存在硬编码,因为 sql 语句的 where 条件不一定 2024-04-01 mybatis
3.SqlMapConfig.xml配置文件 SqlMapConfig.xml配置文件配置的内容按照顺序排列: -properties(属性)–property -settings(全局配置参数)–setting -typeAliases(类型别名)–typeAliase–package -typeHandlers(类型处理器) -objectFactory(对象工厂) -plugins(插件) -environments(环境集合属性对象 2024-04-01 mybatis
2.Mybatis 的CRUD操作以及参数深入 Mybatis 的CRUD操作以及参数深入CRUD 操作select IUserDao.java 123456public interface IUserDao { List<User> findAll(); User findById(Integer id);} IUserDao.xml 1234567891011121314<?xml v 2024-04-01 mybatis
4.Mybatis 连接池、事务 Mybatis 连接池、事务Mybatis 连接池Mybatis的连接池分类 UNPOOLED 不采用连接池的数据源 POOLED 采用连接池 JNDI 使用JNDI实现的数据源 连接池配置修改 <dataSource type="POOLED"> 即可: 12345678910111213141516<!-- 2024-04-01 mybatis
5.Mybatis 动态SQL Mybatis 动态SQL简介复杂情况下,需要动态变化的SQL语句。 操作标签1. <if>持久层Dao接口1234/*** 根据用户信息,查询用户列表*/List<User> findByUser(User user); 持久层Dao映射配置123456789<select id="findByUser" resultType="us 2024-04-01 mybatis
6.多表查询 多表查询多对一1.级联属性赋值直接给成员的属性赋值。 比如一个User拥有多个Account。Account类中有一个User类型的成员变量user。 123456789101112131415161718<resultMap id="accountUserMap" type="account"> <id property=& 2024-04-01 mybatis
7.Mybatis 缓存 Mybatis 缓存Mybatis中缓存分为: 一级缓存 二级缓存 一级缓存一级缓存的使用一级缓存是 SqlSession 级别的缓存(不需要刻意使用),只要 SqlSession 没有 flush 或 close,它就存在。 测试示例: 随意选择一个查询方法即可测试。 1234567891011121314public class UserTest { private In 2024-04-01 mybatis
8.基于注解开发Mybatis 基于注解开发Mybatis效果:不编写 Mapper 映射文件。 常用注解说明 注解名 效果 @Insert 实现新增 @Update 实现更新 @Delete 实现删除 @Select 实现查询 @Result 实现结果集封装 @Results 可以与@Result 一起使用,封装多个结果集 @ResultMap 实现引用@Results 定义的封装 @On 2024-04-01 mybatis
事务控制 Spring 中的 事务控制Spring中的事务控制主要用于管理数据库操作的执行,确保数据的一致性和完整性。它允许你将多个数据库操作捆绑在一起,作为一个单一的工作单元来执行。如果这些操作中的任何一个失败了,整个事务都会被回滚(撤销),这样就不会留下不完整或不一致的数据。 简单来说,Spring事务控制就是为了确保当你在数据库中执行多个操作时,要么所有操作都成功完成,要么在遇到错误时将所有操作都撤销 2024-03-25 spring
IOC IOC :控制反转 (DI:依赖注入)1.搭建Spring环境 spring-context.jar 处理spring上下文的jar 2.编写配置文件 3.开发Spring程序(IOC) 123ApplicationContext conext = new ClassPathXmlApplicationContext("applicationContext.xml") ;/ 2024-03-25 spring