
Mybatis
飞舞佛
秉着开源精神,和同行者一起交流,进步。
展开
-
Mybatis模板总结,不断完善中~~~
模板总结: 普通Maven项目 在父项目中的pom.xml中插入以下依赖 <!-- 导入依赖--> <dependencies> <!--mysql驱动--> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifac原创 2020-05-28 10:30:04 · 143 阅读 · 0 评论 -
缓存
13、缓存(了解) 13.1、简介 查询 : 连接数据库,耗资源! 一次查询的结果,给他暂存在一个可以直接取到的地方!--->内存 : 缓存 我们再次查询相同数据的时候,直接走缓存,就不用走数据库了 什么事缓存[Cache]? 存在内存中的临时数据。 将用户经常查询的数据放在缓存(内存)中,用户去查询数据就不用从磁盘上(关系型数据库数据文件)查询, 从缓存中查询,从而提高查询效率,解决了高并发系统的性能问题。 为什么使用缓存? 减少和数据库的交互次数,减少系统开销,原创 2020-05-28 09:42:50 · 138 阅读 · 0 评论 -
动态SQL
动态SQL语句 狂神动态SQL链接 什么事动态SQL:动态SQL就是指根据不同的条件生成不同的SQL语句 利用动态SQL这一特性可以彻底摆脱这种痛苦 动态 SQL 元素和 JSTL 或基于类似 XML 的文本处理器相似。在 MyBatis 之前的版本中,有很多元素需要花时间了解。MyBatis 3 大大精简了元素种类,现在只需学习原来一半的元素便可。MyBatis 采用功能强大的基于 OGNL 的表达式来淘汰其它大部分元素。 if choose (when, otherwise) trim (where,原创 2020-05-28 09:14:11 · 152 阅读 · 0 评论 -
Lombok
Lombok(了解即可) 特点: 插件 java库 工具 使用步骤: 在IDEA中安装Lombok插件 File->setting->plugin->搜索Lombok->本地找不到,那么就到Brow中去找 在项目中导入lombok的jar包 <!-- https://mvnrepository.com/artifact/org.projectlombok/lombok --> <dependency>原创 2020-05-27 14:01:36 · 147 阅读 · 0 评论 -
注解实现CRUD
CRUD 我们可以在工具类创建的时候实现自动提交事务!这个是在MybatisUtils工具类里面的弄的 public static SqlSession getSqlSession(){ return sqlSessionFactory.openSession(true); } 编写接口,增加注解,之后一定要将接口配置在Mybatis-config.xml文件之中,不是将Mapper.xml放进去 public interface UserMapper { @Select原创 2020-05-27 13:29:55 · 218 阅读 · 0 评论 -
Mybatis注解开发
使用注解开发 1 面向接口编程 面向接口编程的根本原因:解耦,可拓展,提高复用,分层开发中、上层不用管具体的实现,大家都遵守共同的标准,使得开发变得容易,规范性好 架构和实现的分离 2 使用注解开发(核心是使用了反射) 注解在接口上实现 //不要mybatis.user要不然会报错 @Select(value = "select * from user") List<User> getUsers(); 需要在核心配置文件中绑定接口! <!--绑定接口,之前绑定Mapper.xm原创 2020-05-27 12:36:45 · 299 阅读 · 0 评论 -
分页的使用
分页 思考:为什么要分页? 减少数据的处理量 1 使用Limit分页 select * from user limit startIndex,pageSize 使用Mybatis实现分页,核心SQL 接口 //分页 List<User> getUserByLimit(Map<String,Integer> map); Mapper.xml(为什么下面的参数要使用Map) <select id="getUserByRowBounds" parameterT原创 2020-05-27 11:34:18 · 153 阅读 · 0 评论 -
日志及其使用
日志 1 日志工厂 如果一个数据库操作,出现了异常,我们需要排错。日志就是最好的助手! 曾经:sout、debug 现在:日志工厂 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-keAb2tIZ-1590549343636)(C:\Users\93224\Pictures\java\Mybatis\8.png)] SLF4J LOG4J【掌握】 LOG4J2 JDK_LOGGING COMMONS_LOGGING STDOUT_LOGGING【掌握】 NO_LOGGING原创 2020-05-27 11:16:16 · 300 阅读 · 0 评论 -
解决Pojo属性名和数据库名字不一致问题
解决属性名和字段名不一致的问题 1、问题 数据库中的字段 新建一个项目,拷贝之前的,测试实体类字段不一致的情况。 public class User { private int id; private String name; private String password; } pojo中的实体属性名与数据库中的序列不一致(pojo中的对应的属性名和数据库中的名字不一样) //select * from mybatis.user where id = #{id} //类型处理器原创 2020-05-26 22:47:05 · 2028 阅读 · 0 评论 -
生命周期和作用域
生命周期和作用域 1 生命周期 生命周期,和作用域是至关重要的,因为错误的使用会导致非常严重的并发问题。 SqlSessionFactoryBuilder 一旦创建了SqlSessionFactory,就不再需要SqlSessionFactoryBuilder了 局部变量 SqlSessionFactory: 可以想象为:数据库连接池 SqlSessionFactory 一旦被创建就应该在应用的运行期间一直存在,没有任何理由丢弃它或重新创建另一个实例。 因此SqlSessionFactory原创 2020-05-26 22:19:16 · 204 阅读 · 0 评论 -
配置解析和别名配置
配置解析 1、核心配置解析 mybatis-config.xml MyBatis的配置文件包含了会深深影响MyBatis行为的设置和属性信息 configuration(配置) properties(属性) settings(设置) typeAliases(类型别名) typeHandlers(类型处理器) objectFactory(对象工厂) plugins(插件) environments(环境配置) environment(环境变量) transactionManager(事务管理器)原创 2020-05-26 16:11:56 · 653 阅读 · 0 评论 -
Map和模糊查询的使用
Map和模糊查询 1、Map的使用方法和过程 (这个方法是放弃使用User,这个适合参数特别多的东西) 这个在项目中会使用很多,特别注意这种方法 //Map的使用(万能的Map) int getUserById2(Map<String , Object> map); <!--Map增加用户的方法,这个是在dao层的xml文件 下面中的#{userid}是根据给Map传的名称来写的 --> <insert id="getUserById2原创 2020-05-26 12:42:18 · 871 阅读 · 0 评论 -
CRUD(增删改查)
CRUD 1、namespace的一些概念和使用 namespace中的包名一定要和Dao层中的接口名一致,不然容易爆以下的错误。 org.apache.ibatis.binding.BindingException: Type interface com.kuang.dao.UserDao is not known to the MapperRegistry. at org.apache.ibatis.binding.MapperRegistry.getMapper(MapperRegistry.ja原创 2020-05-26 11:34:24 · 1711 阅读 · 1 评论 -
Idea中创建Mybatis的步骤(模板,防止以后忘记)
创建一个普通的Maven项目 命名要使用好在哪一个包下面 还有要注意的是Mybatis中的依赖这个一定要注意 下面的代码放在项目下面的pom.xml中,同时还有别的依赖 <!-- 导入依赖--> <dependencies> <!--mysql驱动--> <dependency> <groupId>mysql</groupId> <..原创 2020-05-25 13:33:51 · 320 阅读 · 0 评论