MyBatis
qq_45126061
这个作者很懒,什么都没留下…
展开
-
Mybatis遇见的错误
1.org.apache.ibatis.binding.BindingException Exception in thread "main" org.apache.ibatis.binding.BindingException: Type interface org.javaboy.dao.IUserDao is not known to the MapperRegistry. 检查定义的接口和实体类映射的接口名是否一致 ...原创 2020-09-29 18:41:09 · 88 阅读 · 0 评论 -
SqlMapConfig.xml配置文件相关属性
properties 在使用 properties 标签配置时,我们可以采用两种方式指定属性配置 第一种 <properties> <property name="jdbc.driver" value="com.mysql.jdbc.Driver"/> <property name="jdbc.url" value="jdbc:mysql://localhost:3306/eesy"/> <property name="jdbc.username" value="原创 2020-09-09 17:19:49 · 76 阅读 · 0 评论 -
MyBatis注解开发
MyBatis常用注解说明 @Insert:实现新增 @Update:实现更新 @Delete:实现删除 @Select:实现查询 @Result:实现结果集封装 @Results:可以与@Result 一起使用,封装多个结果集 @ResultMap:实现引用@Results 定义的封装 @One:实现一对一结果集封装 @Many:实现一对多结果集封装 @SelectProvider: 实现动态 SQL 映射 @CacheNamespace:实现注解二级缓存的使用 使用MyBatis注解实现基本CRUD原创 2020-09-09 17:04:05 · 63 阅读 · 0 评论 -
MyBatis延迟加载策略
什么是延迟加载 延迟加载: 就是在需要用到数据时才进行加载,不需要用到数据时就不加载数据。延迟加载也称懒加载. 好处: 先从单表查询,需要时再从关联表去关联查询,大大提高数据库性能,因为查询单表要比关联查询多张表速度要快。 坏处: 因为只有当需要用到数据时,才会进行数据库查询,这样在大批量数据查询时,因为查询工作也要消耗 时间,所以可能造成用户等待时间变长,造成用户体验下降。 实现延迟加载 需求 查询账户(Account)信息并且关联查询用户(User)信息。如果先查询账户(Account)信息即可满足要求原创 2020-09-09 10:46:38 · 149 阅读 · 0 评论 -
MyBatis的缓存
什么是缓存 存在于内存中的临时数据 为什么使用缓存 减少和数据库的交互次数,提高执行效率 什么样的数据能使用缓存,什么样的数据不能使用 适用于缓存: 经常查询并且不经常改变的 数据的正确与否对最终结果影响不大的 不适用于缓存: 经常改变的数据 数据的正确与否对最终结果影响大的,例如:商品的库存,银行的汇率,股市的牌价 一级缓存 它指的是MyBatis中SqlSession对象的缓存 当我们执行查询之后,查询的结果会同时存入到SqlSession为我们提供一块区域中 ,该区域的结构是一个Map,当我原创 2020-09-09 10:20:15 · 150 阅读 · 0 评论 -
mybatis框架简介
1.持久层技术解决方案简介 JDBC技术: Connection PreparedStatement ResultSet Spring的JbdcTemplate Spring中对JDBC的简单封装 Apache的DBUtils 它和Spring的JdbcTemplate很像,也是对JDBC的简单封装 以上这些都不是框架 JDBC规范 Spring的JdbcTemplate和Apache的DBUtils都只是工具类 2.JDBC分析 JDBC程序回顾 public static void main(Str原创 2020-09-06 10:49:19 · 125 阅读 · 0 评论 -
MyBatis多表查询
MyBatis多表查询之一对多 1.MyBatis多表一对多查询准备 mybatis中的多表查询: 示例:用户和账户 一个用户可以有多个账户 一个账户只能属于一个用户(多个账户也可以属于同一个用户) 步骤: 1、建立两张表:用户表,账户表 让用户表和账户表之间具备一对多的关系:需要使用外键在账户表中添加 2、建立两个实体类:用户实体类和账户实体类 让用户和账户的实体类能体现出来一对多的关系 3、建立两个配置文件 用户的配置文件 账户的配置文件 4、实现配置: 当我们查询用户时,可以同时得原创 2020-09-09 07:12:58 · 67 阅读 · 0 评论 -
MyBatis事务
JDBC事务 在 JDBC 中我们可以通过手动方式将事务的提交改为手动方式,通过 setAutoCommit()方法就可以调整。 通过 JDK 文档,我们找到该方法如下: setAutoCommit() void setAutoCommit(boolean autoCommit) throws SQLException 将此连接的自动提交模式设置为给定状态,如果连接处于自动提交模式下,则它的所有SQL语句将集中到事务中,直到调用commit方法或rollback方法为止。默认情况下,新连接处于自动提交模式。原创 2020-09-08 10:39:41 · 223 阅读 · 0 评论 -
MyBatis连接池
MyBatis中的连接池 MyBatis连接池提供了三种方式的配置: 配置的位置: 主配置文件SqlMapConfig.xml中的dataSource标签,type属性就是采用何种连接池方式 type属性的取值: POOLED 采用传统的javax.sql.DataSource规范中的连接池,MyBatis中有针对规范的实现 UNPOOLED 采用传统的获取连接的方式,虽然也实现Javax.sql.DataSource接口,但是并没有使用池的思想。 JNDI 采用服务器提供的JNDI技术实现,来获取Da原创 2020-09-08 09:27:56 · 215 阅读 · 0 评论 -
mybatis基于代理Dao实现CRUD操作
基于代理Dao实现CRUD操作 根据ID查询 1.在持久层接口中添加findById方法 /** * 根据 id 查询 * @param userId * @return */ User findById(Integer userId); 2.在用户的映射配置文件中配置 <!-- 根据 id 查询 --> <select id="findById" resultType="com.itheima.domain.User" parameterType="int"> select *原创 2020-09-07 12:33:08 · 97 阅读 · 0 评论 -
mybatis入门
MyBatis的环境搭建 第一步,创建Maven工程并导入坐标 第二步,创建实体类和dao的接口 第三步,创建MyBatis的主配置文件: SqlMapConfig.xml 第四步,创建映射配置文件:IUserDao.xml 环境搭建的注意事项 创建IUserDao.xml和IUserDao.java时名称是为了和我们之前的知识保持一致。在MyBatis中它把持久层的操作接口和映射文件名称也叫做:Mapper。所以:IUserDao和IUserMapper是一样的。 在IDEA中创建目录时,它和包是不一样原创 2020-09-06 16:10:02 · 74 阅读 · 0 评论