这里只需要 一是连接数据库的 二是映射的 注解是class的方式  dom4j技术获取xml的数据,这是xml的方式获取的下面几个关键的点 注解的方式回去dao类里面的几个主要的信息 User黄色的部门就是要封装到哪里的数据.基于注解的开发,如何拿到User是最关键的 设计注解和泛型相关的知识 最终得到class的名称…
1.完善我们的account案例 2.分析案例中问题 3.回顾之前讲过的一个技术:动态代理 4.动态代理另一种实现方式 5.解决案例中的问题 6.AOP的概念 7.spring中的AOP相关术语 8.spring中基于XML和注解的AOP配置…
编写Mybatis代码,与spring不一样,不需要导入插件,只需导入架包即可: 在lib下 导入mybatis架包:mybatis-3.1.1.jarmysql驱动架包:mysql-connector-java-5.1.6-bin.jar 在src目录下建立xml配置文件:conf.xml,是一些连接数据库的配置: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE configuration PUB…
spring共四天 第一天:spring框架的概述以及spring中基于XML的IOC配置 第二天:spring中基于注解的IOC和ioc的案例 第三天:spring中的aop和基于XML以及注解的AOP配置 第四天:spring中的JdbcTemlate以及Spring事务控制 ----------------------------------------------------- 1.spring的概述     spring是什么     spring的两大核心     spring的发展…
MyBatis注解开发 @Insert注解注解属性value:写入SQL语句 @Options注解实现添加新数据的主键封装注解属性useGeneratedKeys:使用生成的主键,配置为truekeyProperty:主键封装的pojo对象属性 @SelectKey注解实现添加新数据的主键封装注解属性statement:要执行的SQL语句before:在添加SQL语句之前还是之后进行,配置为false keyProperty:主键封装的pojo对象属性 注解实现添加数据 UserMapper接口…
注解的方式,这里进行修改.上面注释的是原来xml的方式. 在dao类里面加上注解 创建注解类 声明注解的生命周期为Runntime 改变注解出现的位置,在Mehtod方法上 写完之后这里就不报错了. 这段代码的注释放开 再把注释掉的方法LoadMaperAnnotation也放开 首先解析xml的class属性 得到的就是dao接口的全限定类名 找到注解就找到了sql语句 怎么获取到的结果类型呢? 通过getGenericReturnType拿到泛型. Generic表示的是泛型. 运行结果 1…
接下来就可以写创建代理对象的方法了 类加载器,代理谁,就用谁的加载器,因为这里用daoInterfaceClass.getClassLoader() 第二个代理谁就要和谁有相同的接口,daoInterfaceClass本身就是一个接口,这里创建一个类的数组把daoInterfaceClass传进去. 如何代理呢?需要写一个自己的代理方式.MapperProxy这个类是没有的. 创建MapperProxy 实现接口InvocationHandler 重写invoke方法 这里把Mapper对象传递…
先认识一下这几个类.Resources是一个class SqlSessionFactoryBuilder 创建新项目 复制相关的依赖 复制之前的代码 复制到当前项目的src下 把Mybits的依赖删除掉 删除Mbits依赖后,就相当于没有Mybits的内容了. 新建类Resources 之类就可以把Resources的包导入进来了.就是我们自己新建的类 Resources Resources类里面创建方法getResourceAsStream 方法内是三步: 1.拿到类的字节码 2.获取字节码的…
把XMLConfigBuilder的包名补全 这样我们就可以调用里面的loadConfiguration方法了 创建工厂实现类 实现SqlSessionFactory的接口 实现接口里面的方法 把cfg作为参数传递给SqlSessionFactory的实现类 在实现类里面,提供一个Configration的对象,通过构造方法传递进来. Configuration里面包含了链接数据库的信息,以及执行的SQL语句 创建SqlSession实现类 工厂实现类里面把cfg传递到SqlSession的实现…
导入xml操作的类和用到的相关包 创建util包,然后把提供好的XMLConfigBuilder.java文件复制3过来 复制过来,里面用到了很多dom4j的东西 打开pom.xml 输入dependency.然后输入dom4j 这里用到的是dom4j的扩展内容,叫做xpath 用到xmpath就还需要导入包,jaxen 创建configuration 返回值是一个configuration.但是我们还没有这个 放到cfg的包下 我们把 configuration导进来.发现都是存放链接信息的…
如何创建代理对象,以及使用设计模式带来的优势 调用的组合关系 不关注的,执行JDBC那一套.第二个是解析XML,解析的技术有很多.…
分析流程 1. 引入dom4j <dependencies> <!--<dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.4.5</version> </dependency>--> <dependency> <groupId>dom4j&l…
整合ssm三大框架使用注解开发查询用户信息 一.基础知识准备之spring mvc工作原理 二.分析 第一步:发起请求到前端控制器(DispatcherServlet) 第二步:前端控制器请求HandlerMapping查找 Handler 可以根据xml配置.注解进行查找 第三步:处理器映射器HandlerMapping向前端控制器返回Handler 第四步:前端控制器调用处理器适配器去执行Handler 第五步:处理器适配器去执行Handler 第六步:Handler执行完成给适配器返回Mo…
基于注解开发: 一开始:用的jar包: 百度查到: 导入aop包: 没用 有的说: Spring版本和jdk版本不匹配 于是我换成了4.0版本 导入的jar包: 还是报错. 解决办法:添加spring-aop-4.0.2.RELEASE.jar 终于问题解决.…
不对地方,请指出!相互学习! 背景:Hystrix 没有无参构造函数,所以Spring管理bean时候没办法进行管理, 每个类都进行编码 个人感觉不方便,基于注解开发!方便速度快,不侵入代码!引入的jar 坐标 版本号  <hystrix.version>1.5.12</hystrix.version> <dependency> <groupId>com.netflix.hystrix</groupId> <artifactId>hy…
项目结构:      https://files-cdn.cnblogs.com/files/mkl7/ownMybatis.zip 1. 创建maven工程并引入坐标: <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/X…
MyBatis 项目已托管到GitHub,大家可以去GitHub查看下载!并搜索关注微信公众号 码出Offer 领取各种学习资料! 一.框架概述 1.1 什么是框架? 软件的半成品,解决了软件开发过程当中的普适性问题,从而简化了开发步骤,提供了开发的效率 1.2 什么是ORM框架? ORM(Object Relational Mapping)对象关系映射,将程序中的一个对象与表中的一行数据一一对应 ORM框架提供了持久化类与表的映射关系,在运行时参照映射文件的信息,把对象持久化到数据库中 1.3…
MyBatis提供了多个注解如:@InsertProvider,@UpdateProvider,@DeleteProvider和@SelectProvider,这些都是建立动态语言和让MyBatis执行这些语言使用基于注解的mybatis的方法,还是比较好用的. 一 首先是定义mapper, @ SelectProvider去声明类(CitySqlProvide)和方法名(findByState), public interface CityMapper { @SelectProvider(ty…
1.工程环境搭建 2.基于注解的IOC配置 IOC注解的分类 (1)用于创建对象的 他们的作用就和在XML配置文件中编写一个<bean>标签实现的功能是一样的@Component: 作用:用于把当前类对象存入spring容器中 属性: value:用于指定bean的id.当我们不写时,它的默认值是当前类名,且首字母改小写. 业务层实现类:AccountServiceImpl.java package lucky.service.impl; import lucky.service.IAccou…
AspectJ的AOP实现:有两种方式,一种是基于XML配置文件,一种是基于注解的,由于注解更为常用,这里 这里只针对注解来学习. -------------------------------------------------------------------------------------- package com.sjl.aspectj.annotation; import org.aspectj.lang.JoinPoint; import org.aspectj.lang.Pr…
上一篇演示了怎样使用XML来操作Mybatis实现CRUD,可是大量的XML配置文件的编写是很烦人的.因此 Mybatis也提供了基于注解的配置方式,以下我们来演示一下使用接口加注解来实现CRUD的的样例. 首先是创建一个接口. package com.bird.mybatis.bean; import java.util.List; import org.apache.ibatis.annotations.Delete; import org.apache.ibatis.annotations…
面向接口编程 大家之前都学过面向对象编程,也学习过接口,但在真正的开发中,很多时候我们会选择面向接口编程 根本原因 : 解耦 , 可拓展 , 提高复用 , 分层开发中 , 上层不用管具体的实现 , 大家都遵守共同的标准 , 使得开发变得容易 , 规范性更好 在一个面向对象的系统中,系统的各种功能是由许许多多的不同对象协作完成的.在这种情况下,各个对象内部是如何实现自己的,对系统设计人员来讲就不那么重要了: 而各个对象之间的协作关系则成为系统设计的关键.小到不同类之间的通信,大到各模块之间的交互,…
9.使用注解开发 mybatis最初配置信息是基于 XML ,映射语句(SQL)也是定义在 XML 中的.而到MyBatis 3提供了新的基于注解的配置.不幸的是,Java 注解的的表达力和灵活性十分有限.最强大的 MyBatis 映射并不能用注解来构建 sql 类型主要分成 : @select () @update () @Insert () @delete () 注意:利用注解开发就不需要mapper.xml映射文件了 . 注解开发流程 1.我们在我们的接口中添加注解 //查询全部用户 @S…
Struts2主要解决了从JSP到Action上的流程管理,如何进行Uri和action类中每个方法的绑定这是重点,在这里先简单看一下配置文件中的简单配置: <span style="font-size:18px;">  <!-- 这是包名和命名空间的声明 --> <package name="orgPackage" namespace="/org" extends="struts-default"…