<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd"&g...
对应关系类
对一: 将对应的实体类创建一个对象封装在类中用来存储对象的信息
对多: 创建一个对方类型的集合,List< Object>
对一映射xml怎么写
还是正常写sql语句
使用ResultMap来映射属性和数据库列名的关系
类中还包含其他类的对象使用 < association> 标签
<?xml version="...
输入的key
场景一:传入的是单个简单类型 key 随便写
场景二:传入的是实体对象 key如何写?
key=属性名即可
场景三:传入的是多个零散简单类型 key如何写?
可不可以随便写? 不可以
按照形参name获取? 也不可以
方案一:注解指定 @Param注解 指定多个简单参数的key,key = @Param("指定的key...
导入依赖
准备实体类
创建一个mapper接口和mapper.xml文件
创建mybatis配置文件
使用mybatis的API进行数据库查询
sqlSessionFactory 全局使用创建sqlSession对象
sqlSession业务使用完毕即销毁
getMapper(接口.class)获得代理对象
代理对象.方法()即可操作数据库
导入依赖...
JDBC,只需要new 一个DruidDatasource 放入 JdbcTemplate()直接调用方法就可以了,使用方便,但是要自己编写sql语句,而且不支持多表查询。
Mybatis,配置麻烦,但是功能强大,需要自己编写sql语句在xml文件里,使用前需要配置。
hibernate ,使用方便,无需编写sql语句,但是因为封装性太强了,不够灵活,而且内...
pom 在父工程中,只管导入依赖或者管理依赖版本,没什么内容
jar java程序的打包方式,也可以被其他项目引用
war web程序的打包方式,可以设置打包war方式手动构建web类型的工程
三、MyBatis实践:提高持久层数据处理效率
目录
一、Mybatis简介
1.1 简介
1.2 持久层框架对比
1.3 快速入门(基于Mybatis3方式)
二、MyBatis基本使用
2.1 向SQL语句传参
2.1.1 mybatis日志输出配置
2.1.2 #{}形式
2.1.3 \${}形式
2.2 数据输入
2.2.1 Mybat...
在配置类中定义TransactionManager,需要给它传一个DataSource
开始事务声明的注解@EnableTransactionManagement //开启事务注解的支持
@Configuration
@ComponentScan("com.atguigu")
@PropertySource("classpath:jdbc.propert...
AOP并不是 age of Putin 普丁的年龄,而是 Aspect Oriented Programming 面向切面编程。
就是一种代理模式,将非核心业务剥离出来。例如,打印计算前后的数据,如果每个类都要手动添加那就太累了。这就需要一个代理。
分为静态代理和动态代理。静态代理我们不用,因为它就是手动去写代理类,还是很繁琐。
动态代理分为JDK动态代理(...
解决了
需要标签引入第三方类的问题
需要</context:component-scan> 扫描包的问题
需要</context:property-placeholder> 引入配置文件的问题
配置类编写
/**
* 1. 包扫描配置
* 2. 引用外部文件配置
* 3. 声明第三方依赖Bean组件
*/
/**
...
在类名上添加注解
其实所有注解效果都是一样的,不同的单词是为了区分不同的用途
注解的单例、多例模式
注入引用类型 自动装配
注入基本类型 读取配置文件信息
声明周期方法,init、destroy....
//@Scope(scopeName = ConfigurableBeanFactory.SCOPE_SINGLETON) //默认单例模式
...
出错截图
解决办法
把这个编译版本改成现在使用的版本就好了
XML基本繁琐,需要同时兼顾XML的配置和类的声明,基本淘汰。
注解配置方式。
到项目文件夹中把 .idea文件夹删除就好
文件显示后到各层pom里把maven配置刷新一下