10 2019 档案

摘要:有关于Spring对数据库的操作属于为Spring中的Springdata模块,对数据库的操作。Spring对JDBC和Mybatis都有封装与简化 可以从以下角度学习研究 SpringData: 1.对jdbc的操作来说,jdbc编程不变,主要是Connection对象的维护,即配置并使用数据源 阅读全文
posted @ 2019-10-31 19:49 阿德(*^_^*) 阅读(637) 评论(0) 推荐(0)
摘要:使用注解实现SpringAOP的功能: 例子: xml配置:注意给例子中使用的其他的类上面也使用注解 注意:<aop:aspectj-autoproxy proxy-target-class="true"/>这样配置则是强制使用CGLIB进行代理 阅读全文
posted @ 2019-10-31 12:38 阿德(*^_^*) 阅读(510) 评论(0) 推荐(0)
摘要:我们使用Spring的AOP功能的时候发现,我们使用普通的配置方式的时候,我们无法精确的确定将切面类中的哪个方法切入到哪个切入点上, 所以我们可以使用aop的专用标签来完成相关的配置.其中主要表现是使用AspectJ的expression的操作 aop:config标签 使用aop的专用标签来完成相 阅读全文
posted @ 2019-10-31 12:16 阿德(*^_^*) 阅读(9759) 评论(0) 推荐(0)
摘要:Spring中的注解是个好东西,可以简化我们的操作,但是使用了注解又会在一定的程度上增加程序的耦合度,xml中的配置写在了类中虽然简化了开发过程,但是或多或少的违背了开闭原则。所以在开发过程中要先明确,那些配置是要经常改动的,那些配置是不会经常改动的。 ioc中的annotation配置 @Auto 阅读全文
posted @ 2019-10-31 11:25 阿德(*^_^*) 阅读(480) 评论(0) 推荐(0)
摘要:在spring中我们可以自定义事件,并且可以使用ApplicationContext类型对象(就是spring容器container)来发布这个事件 事件发布之后,所有的ApplicaitonListener(监听器)实例都会被触发并调用指定方法onApplicationEvent()来处理. 这里 阅读全文
posted @ 2019-10-31 10:40 阿德(*^_^*) 阅读(724) 评论(0) 推荐(0)
摘要:Spring提供了一些接口来提供一些方法,体现了bean对象在Spring容器中的生命周期 具体的过程可以体现为: 读取权限类名->构建一个类对象->用这个类对象通过无参构造器newInstance()构建对象 ↓ 调用set方法注入依赖 ↓ 如果这个Bean已经实现了BeanNameAware接口 阅读全文
posted @ 2019-10-31 10:15 阿德(*^_^*) 阅读(1718) 评论(0) 推荐(0)
摘要:Spring中整合了AOP的功能,虽然有不足,没有专门做AOP框架的那么完美,但是用一用感觉还是不错的 一些概念: AOP 面向切面编程 aspect 切面/切面类(我个人认为一个真正被解耦的程序,切面类中的功能可以切入到 任何一个目标类中 无所谓是service层或者说是dao层中的类) join 阅读全文
posted @ 2019-10-28 20:15 阿德(*^_^*) 阅读(433) 评论(0) 推荐(0)
摘要:我们知道在mybatis框架中,config.xml中会关联到许多的XxxxMapper的xml文件,这些文件又对应着一个个的接口,来观察下这些xml文件 从以下这个文件为例子: <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE mapper PUBL 阅读全文
posted @ 2019-10-28 19:34 阿德(*^_^*) 阅读(724) 评论(0) 推荐(0)
摘要:第一种方式:Java提供的动态代理的方式 Java中有一个动态代理类对象的生成类Proxy,在这个类中有个方法: 返回指定接口的代理类实例 将方法调用分派给指定的调用 处理程序。 使用这个方法就可以生成一个动态代理对象 但是这个方法有三个参数,第三个参数就是定义一个自定义类型的处理器,处理将来代理类 阅读全文
posted @ 2019-10-24 16:46 阿德(*^_^*) 阅读(286) 评论(0) 推荐(0)
摘要:Spring中我们可以使用属性编辑器来将特定的字符串转换为对象 String--转换-->object java.beans.PropertyEditor(JDK中的接口)用于将xml文件中字符串转换为特定的类型,同时JDK为我们提供一个实现类java.beans.PropertyEditorSup 阅读全文
posted @ 2019-10-22 23:23 阿德(*^_^*) 阅读(249) 评论(0) 推荐(0)
摘要:如果我们在spring框架中配置了多个xml文件,我们可以在读取配置文件的时候把这些xml文件一下全都读取 也可以只读一个总的xml文件,在这个总的xml文件中把其他的xml全都都导入进来。 例如: student.xml文件: teacher.xml文件: import.xml文件: main: 阅读全文
posted @ 2019-10-22 22:52 阿德(*^_^*) 阅读(654) 评论(0) 推荐(0)
摘要:xml文件中有bean的配置,而且这个bean所对应的java类中存在一个无参构造器 那么这个时候spring容器就可以使用反射调用无参构造器来创建实例了(常规的方式) 通过工厂类获得实例(工厂类实现了接口FactoryBean<?> 注意spring中的PropertyPlaceholderCon 阅读全文
posted @ 2019-10-22 22:48 阿德(*^_^*) 阅读(2157) 评论(0) 推荐(0)
摘要:首先是软件的应用分层架构 标准三层架构: 1:数据访问层:实现了数据的持久化 2:业务逻辑层:对逻辑的实现及处理,实际上不可能在表示层对数据不做任何处理,但是尽可能的将逻辑分为一层 3:表示层:数据的展示 优点: 降低了一个程序的耦合度,一个类中有一千行代码可以转化为三个类中各写300多行代码,每个 阅读全文
posted @ 2019-10-22 22:06 阿德(*^_^*) 阅读(2842) 评论(0) 推荐(0)
摘要:一对一关系中普通的配置方式 一.多表连接查询语句: 1. 把所有的查询结果,在一个resultMap中映射 2.使用【嵌套结果】ResultMap,实现一对一关系映射(就是说在一个resultMap中映射部分字段,在另一个映射结果中关联) 注:<association>是关联的意思,常被用来表示(h 阅读全文
posted @ 2019-10-17 00:06 阿德(*^_^*) 阅读(922) 评论(0) 推荐(0)
摘要:缓存功能针对于查询(没听说果UPDATE,INSERT语句要缓存什么,都是直接执行的) 默认情况下,mybatis会启用一级缓存。 如果使用同一个session对象调用了相同的SELECT语句,则直接会从缓存中返回结果,而不是再查询一次数据库。 注意:session调用commit或close方法后 阅读全文
posted @ 2019-10-17 00:00 阿德(*^_^*) 阅读(480) 评论(0) 推荐(0)
摘要:单行结果集映射: 接口中方法返回值定义为Map类型,sql语句的resultType属性设置为map即可。这种情况默认把列名作为key,列中的值作为value。 也就是说用map<Strirng,Object>接收,一个map集合对应查询结果所封装的一个对象(一行数据对应一个对象) 多行结果集映射: 阅读全文
posted @ 2019-10-16 23:49 阿德(*^_^*) 阅读(3648) 评论(0) 推荐(0)
摘要:MyBatis中的映射语句有一个parameterType属性来制定输入参数的类型。但是parameterType属性只可以写一个参数,所以如果我们想给映射语句传入多个参数的话,我们可以将所有的输入参数放到HashMap中,将HashMap传递给映射语句。 其实就是把多个参数存到Map中,把Map当 阅读全文
posted @ 2019-10-16 18:55 阿德(*^_^*) 阅读(4126) 评论(0) 推荐(0)
摘要:MyBatis可以使用RowBounds逐页加载表数据。RowBounds对象可以使用offset和limit参数来构建。参数offset表示开始位置,而limit表示要取的记录的数目 映射文件: 映射接口中: 测试方法: 注意,若规定每页5条数据,要展示第二页,使用offset=5,limit=5 阅读全文
posted @ 2019-10-16 12:06 阿德(*^_^*) 阅读(2496) 评论(0) 推荐(0)
摘要:BLOB和CLOB都是大字段类型。 BLOB是按二进制来存储的,而CLOB是可以直接存储文字的。 通常像图片、文件、音乐等信息就用BLOB字段来存储,先将文件转为二进制再存储进去。文章或者是较长的文字,就用CLOB存储. BLOB和CLOB在不同的数据库中对应的类型也不一样: MySQL 中:clo 阅读全文
posted @ 2019-10-16 11:36 阿德(*^_^*) 阅读(12734) 评论(1) 推荐(2)
摘要:MyBatis支持持久化enum类型属性。假设t_user表中有一列gender(性别)类型为 varchar2(10),存储 MALE 或者 FEMALE 两种值。并且,User对象有一个enum类型的gender 属性,如下所示: 默认情况下MyBatis使用EnumTypeHandler来处理 阅读全文
posted @ 2019-10-16 11:01 阿德(*^_^*) 阅读(10649) 评论(0) 推荐(0)
摘要:有时候,静态的SQL语句并不能满足应用程序的需求。我们可以根据一些条件,来动态地构建 SQL语句。 例如,在Web应用程序中,有可能有一些搜索界面,需要输入一个或多个选项,然后根据这些已选择的条件去执行检索操作。我们可能需要根据用户选择的条件来构建动态的SQL语句。如果用户提供了任何一个条件,我们需 阅读全文
posted @ 2019-10-16 10:28 阿德(*^_^*) 阅读(2463) 评论(0) 推荐(0)
摘要:mybatis框架简介 mybatis框架与Hibernate框架相比来说,专注于SQL语句,对SQL语句的编写能力要求较高,同时对数据库的事务也需要有好的理解,最主要的功能是mybatis框架可以将查询到的结果集自动封装成对象。 首先要进行一个环境的搭建: 在这里我使用的IDE是eclipse 使 阅读全文
posted @ 2019-10-15 21:21 阿德(*^_^*) 阅读(866) 评论(0) 推荐(0)