03 2020 档案

摘要:在业务中使用动态代理,一般是为了给需要实现的方法添加预处理或者添加后续操作,但是不干预实现类的正常业务,把一些基本业务和主要的业务逻辑分离。 动态代理 特点 字节码随用随创建,随用随加载 分类 基于接口的动态代理 基于子类的动态代理 一、基于接口的动态代理 使用JDK官方提供的Proxy 如何创建代 阅读全文
posted @ 2020-03-30 22:25 mantishell 阅读(141) 评论(0) 推荐(0) 编辑
摘要:前面的操作都是在持久层使用事务。下面演示一个例子: 假设账户“小王”和“小张”各1000元。 小王去银行给小张转账100元,结果应该是:小王的金额900元,而小张的金额是1100元。 如果我们这么实现,结果会怎么样? 实体类: 持久层: 业务层: 配置文件: 测试: pom文件: 运行测试发现竟然是 阅读全文
posted @ 2020-03-30 22:16 mantishell 阅读(461) 评论(0) 推荐(1) 编辑
摘要:使用spring的IoC实现对象的管理 是以DBAssit作为持久层解决方案 使用c3p0数据源 1、编写实体类 2、编写持久层 3、编写业务层 4、配置对象,让spring来管理 5、测试 6、POM 阅读全文
posted @ 2020-03-26 21:59 mantishell 阅读(169) 评论(0) 推荐(0) 编辑
摘要:配置文件的格式: <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema 阅读全文
posted @ 2020-03-24 22:41 mantishell 阅读(270) 评论(0) 推荐(0) 编辑
摘要:概念 依赖注入:Dependency Injection。它是 spring 框架核心 ioc 的具体实现。 我们的程序在编写时,通过控制反转,把对象的创建交给了 spring,但是代码中不可能出现没有依赖的情况。 ioc 解耦只是降低他们的依赖关系,但不会消除。例如:我们的业务层仍会调用持久层的方 阅读全文
posted @ 2020-03-23 22:56 mantishell 阅读(164) 评论(0) 推荐(0) 编辑
摘要:Spring是分层的Java SE/EE应用 ful stack轻量级开源框架,以IoC(Inverse Of Control:反转控制)和AOP(Aspect Oriented Programming:面向切面编程)为内核,提供了展现层SpringMVC和持久层Spring JDBC以及业务层事务 阅读全文
posted @ 2020-03-22 21:49 mantishell 阅读(181) 评论(0) 推荐(0) 编辑
摘要:用户和角色是多对多的方式,在数据库上体现为,user表,role表和中间表user_role表 MySQL dump 10.13 Distrib 5.7.29, for Linux (x86_64) Server version 5.7.29 DROP TABLE IF EXISTS ; CREAT 阅读全文
posted @ 2020-03-20 12:43 mantishell 阅读(206) 评论(0) 推荐(0) 编辑
摘要:实体类属性和数据库表中列名不一致的时候,使用@Results()注解。 复杂关系映射的注解说明 一对一映射 一对多: 阅读全文
posted @ 2020-03-18 23:01 mantishell 阅读(402) 评论(0) 推荐(0) 编辑
摘要:mybatis常用注解 @Insert:实现新增 @Update:实现更新 @Delete:实现删除 @Select:实现查询 @Result:实现结果集封装 @Results:可以与@Result 一起使用,封装多个结果集 @ResultMap:实现引用@Results 定义的封装 @One:实现 阅读全文
posted @ 2020-03-18 22:07 mantishell 阅读(113) 评论(0) 推荐(0) 编辑
摘要:像大多数的持久化框架一样,Mybatis 也提供了缓存策略,通过缓存策略来减少数据库的查询次数,从而提高性能。 Mybatis 中缓存分为一级缓存,二级缓存。 一级缓存是 SqlSession 级别的缓存,只要 SqlSession 没有 flush 或 close,它就存在。 一级缓存是 SqlS 阅读全文
posted @ 2020-03-18 20:59 mantishell 阅读(209) 评论(0) 推荐(0) 编辑
摘要:延迟加载 Mybatis的 需要在SqlMapConfig.xml文件中添加配置: 先创建个立即加载的项目,然后对比延迟加载和立即加载有什么不同 主配置文件SqlMapConfig.xml jdbcConfig.properties: 在resources下创建文件夹com/mantishell/d 阅读全文
posted @ 2020-03-17 22:55 mantishell 阅读(179) 评论(0) 推荐(0) 编辑
摘要:简单说明 一对一:人和身份证,一个人只能有一个身份证,一个身份证也只能被一个人拥有。 多对多:老师和学生,一个学生可以有多个老师,一个老师可以有多个学生。 多对一:用户和订单是一对多,一个用户可以下多个订单 订单和用户是多对一,多个订单可以属于同一个用户。 创建两个表:User和Account DR 阅读全文
posted @ 2020-03-17 21:16 mantishell 阅读(120) 评论(0) 推荐(0) 编辑
摘要:if标签 `` 的test属性写对象属性名,且连接符号使用sql中的语句,比如使用and而不是&& 接口: 测试: where标签 如果不写where 1=1的条件拼接,有没有办法呢?答案是肯定的,使用``标签 如果name和sex参数都不为null sql语句相当于:select from use 阅读全文
posted @ 2020-03-16 22:14 mantishell 阅读(124) 评论(0) 推荐(0) 编辑
摘要:配置文件说明 一、SqlMapConfig.xml <configuration> <!--配置properties 可以在标签内部配置连接数据库的信息,也可以通过属性引用外部配置文件信息 resource属性:常用的 用于指定配置文件的位置,是按照类路径的写法来写,并且必须存在于类路径下 url属 阅读全文
posted @ 2020-03-16 22:11 mantishell 阅读(163) 评论(0) 推荐(0) 编辑
摘要:mybatis基于xml和注解的增删改查 首先说下目录结构: XML配置文件方式: Mapper接口开发只需编写Mapper接口(Dao接口),mybatis框架会根据接口定义创建接口的代理对象。 本文介绍XML配置方式: 步骤: 1、创建maven工程,导入坐标: 1 <packaging>jar 阅读全文
posted @ 2020-03-14 21:44 mantishell 阅读(168) 评论(0) 推荐(0) 编辑
摘要:当我们遵守以下3条时,我们就不需要写dao接口的实现类: mybatis的映射配置文件必须和dao接口的包结构相同 映射配置文件的mapper标签namespace属性的取值必须是dao接口的全限定类型 映射配置文件的操作(select,update),id属性的取值必须是dao接口的方法名 但我们 阅读全文
posted @ 2020-03-14 09:21 mantishell 阅读(208) 评论(0) 推荐(0) 编辑
摘要:在xml的项目基础上只需修改三个地方 1、删除resource下IUserDao.xml文件 如果不删除,和注解同时存在则会报错: java.lang.IllegalArgumentException: Mapped Statements collection already contains va 阅读全文
posted @ 2020-03-13 23:26 mantishell 阅读(96) 评论(0) 推荐(0) 编辑
摘要:首先创建一个maven工程 jdk使用1.8 目录结构: 1、在pom文件中添加 <packaging>jar</packaging> <dependencies> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</ar 阅读全文
posted @ 2020-03-13 23:01 mantishell 阅读(174) 评论(0) 推荐(0) 编辑
摘要:附加类型“Models.T_WindowT_Device”的实体失败,因为相同类型的其他实体已具有相同的主键值。在使用 "Attach" 方法或者将实体的状态设置为 "Unchanged" 或 "Modified" 时如果图形中的任何实体具有冲突键值,则可能会发生上述行为。这可能是因为某些实体是新的 阅读全文
posted @ 2020-03-11 09:35 mantishell 阅读(284) 评论(0) 推荐(0) 编辑

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