mybatis注解

Mybatis 使用入门

耗尽温柔 提交于 2020-03-08 10:14:14
什么 mybatis MyBatis是一个支持普通SQL查询,存储过程和高级映射的优秀持久层框架; Mybatis消除了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索封装。Mybatis可以使用简单的XML或注解用于配置和原始映射,将接口和Java的POJO(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录 优点 1、简单易学 mybatis本身就很小且简单。没有任何第三方依赖,最简单安装只要两个jar文件+配置几个sql映射文件易于学习,易于使用,通过文档和源代码,可以比较完全的掌握它的设计思路和实现 2、灵活 mybatis不会对应用程序或者数据库的现有设计强加任何影响。 sql写在xml里,便于统一管理和优化。通过sql基本上可以实现我们不使用数据访问框架可以实现的所有功能,或许更多。 3、解除sql与程序代码的耦合 通过提供DAL层,将业务逻辑和数据访问逻辑分离,使系统的设计更清晰,更易维护,更易单元测试。sql和代码的分离,提高了可维护性。 4、提供映射标签,支持对象与数据库的orm字段关系映射 5、提供对象关系映射标签,支持对象关系组建维护 6、提供xml标签,支持编写动态sql。 缺点 1、编写SQL语句时工作量很大,尤其是字段多、关联表多时,更是如此。 2、SQL语句依赖于数据库,导致数据库移植性差,不能更换数据库。

ssm框架搭建整合测试

坚强是说给别人听的谎言 提交于 2020-03-08 02:52:55
下载各种jar包    mybatis下载 https://github.com/mybatis/mybatis-3/releases    mysql驱动下载 http://mvnrepository.com/artifact/mysql/mysql-connector-java    spring下载(spring所用到的所有jar包,包括springmvc) http://repo.spring.io/release/org/springframework/spring/   配合spring使用的工具类收录(开发包大全),最终版本3.0.2,后面就不更新了。   需要用到的jar: aopalliance jar包 AOP联盟的API包,里面包含了针对面向切面的接口。 通常Spring等其它具备动态织入功能的框架依赖此包 aspectjweaver-1.6.11.jar aspectjweaver是spring的切入点表达式需要用的包 链接:https://pan.baidu.com/s/1rCt4z5JV9BW-MZlsOg1cRg 密码:m222    mybatis-spring jar包下载 http://mvnrepository.com/artifact/org.mybatis/mybatis-spring/1.3.2 第三方数据库连接池druid http:/

Spring常用的三种注入方式

江枫思渺然 提交于 2020-03-07 12:55:39
Spring通过DI(依赖注入)实现IOC(控制反转),常用的注入方式主要有三种:构造方法注入,setter注入,基于注解的注入。 构造方法注入 先简单看一下测试项目的结构,用maven构建的,四个包: entity:存储实体,里面只有一个User类 dao:数据访问,一个接口,两个实现类 service:服务层,一个接口,一个实现类,实现类依赖于IUserDao test:测试包 在spring的配置文件中注册UserService,将UserDaoJdbc通过constructor-arg标签注入到UserService的某个有参数的构造方法 <!-- 注册userService --> <bean id="userService" class="com.lyu.spring.service.impl.UserService"> <constructor-arg ref="userDaoJdbc"></constructor-arg> </bean> <!-- 注册jdbc实现的dao --> <bean id="userDaoJdbc" class="com.lyu.spring.dao.impl.UserDaoJdbc"></bean> 如果只有一个有参数的构造方法并且参数类型与注入的bean的类型匹配,那就会注入到该构造方法中。 public class

Mybatis 基本使用介绍

痞子三分冷 提交于 2020-03-06 19:52:05
环境搭建 需要的pom依赖 < dependency > < groupId > mysql </ groupId > < artifactId > mysql-connector-java </ artifactId > < version > 5.1.36 </ version > </ dependency > < dependency > < groupId > org.mybatis </ groupId > < artifactId > mybatis-spring </ artifactId > < version > 1.2.2 </ version > </ dependency > < dependency > < groupId > org.mybatis </ groupId > < artifactId > mybatis </ artifactId > < version > 3.2.8 </ version > </ dependency > 需要的配置文件 了解过Mybatis的知道它的常用配置文件有2个。 mybatis-config.xml 配置数据源 配置别名 加载mapper.xml mapper.xml 存放sql语句 mybatis-config.xml <!-- mybatis-config.xml --> <?xml version=

springboot整合mybatis

不羁岁月 提交于 2020-03-06 17:29:58
本文主要介绍mybatis与springboot的整合。关于整合druid数据源连接池的详细配置请参考上篇博文,这里不再赘述 1、导入maven依赖 <!--引入jdbc--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</artifactId> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> </dependency> <!--引入mybatis--> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>1.3.2</version> </dependency> 2、配置application.yml文件 mybatis: # 开启驼峰命名 configuration: map-underscore-to-camel-case: true # 配置mapper文件路径 mapper-locations:

Mybatis-简介及入门

谁都会走 提交于 2020-03-06 09:07:58
Mybatis Mybatis简介 官方解释: MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生类型、接口和 Java 的 POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。 360百科: MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis 。2013年11月迁移到Github。 Mybatis的特点: 简单易学 :本身就很小且简单。没有任何第三方依赖,最简单安装只要两个jar文件+配置几个sql映射文件易于学习,易于使用,通过文档和源代码,可以比较完全的掌握它的设计思路和实现。 灵活 :mybatis不会对应用程序或者数据库的现有设计强加任何影响。 sql写在xml里,便于统一管理和优化。通过sql语句可以满足操作数据库的所有需求。 解除sql与程序代码的耦合 :通过提供DAO层,将业务逻辑和数据访问逻辑分离,使系统的设计更清晰,更易维护,更易单元测试。sql和代码的分离,提高了可维护性。 提供映射标签

Spring Transaction + MyBatis SqlSession事务管理机制研究学习

这一生的挚爱 提交于 2020-03-06 08:57:04
线上的系统中,使用的是Spring+Mybatis+Mysql搭建的框架,由于客户需要,最近一直在对性能提升部分进行考虑,主要是涉及Mysql的一些重要参数的配置学习,以及Spring事务管理机制的学习,因为通过观察服务器日志,发现在这两部分的时候耗时比较严重,特别是进行mysql事务提交的时候,项目源码中使用了Spring的声明式事务,即通过@Transactional注解来控制事务的开启与提交,这两天看了一些关于Spring Transaction事务的一些文章,也debug了源码,总算有点心得和疑问,这里简单的整理一下。 在Spring的配置文件中,我们使用了"org.springframework.jdbc.datasource.DataSourceTransactionManager"对事务进行管理,翻开 DataSourceTransactionManager的源码,我们看到 DataSourceTransactionManager继承了AbstractPlatformTransactionManager(抽象的事务管理器), DataSourceTransactionManager 重写了其中的一些方法,具体每个方法的作用,限于篇幅 ,本文不再赘述 ,这里 《Spring技术内幕》学习笔记16——Spring具体事务处理器的实现 有详细的介绍。 在现有的项目中

springboot第十二天

孤者浪人 提交于 2020-03-05 21:47:00
springboot1.0,2014年发布,默认数据库连接池为 Tomcat JDBC Pool springboot2.0,2018年3月1日发布,默认数据库连接池为 Hikari 1.项目创建选择组件:mysql,jdbc web application.yml里: spring: datasource: username: root password: root #使用 MySQL连接驱动是8.0以上,需要在Url后面加上时区, GMT%2B8代表中国时区,不然报时区 错误 url: jdbc:mysql://127.0.0.1:3306/jdbc?serverTimezone=GMT%2B8 # 注意: 新版本驱动包,要使用以下类作为驱动类 driver-class-name: com.mysql.cj.jdbc.Driver @RestController注解=@Controller+@ResponseBody druid <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.1.12</version> </dependency> mybatis 创建项目 选择mybatis,jdbc,mysql web @MapperScan("com

MyBatis:入门及第一个程序

做~自己de王妃 提交于 2020-03-04 22:22:24
MyBatis:入门及第一个程序 本人使用 环境 : jdk 1.8 MySql 5.0.8(+Navicat for MySQL) IDEA Maven 3.1.1 一、什么是 Mybatis ? MyBatis 是一款优秀的 持久层框架 。 MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集的过程 MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 实体类 【Plain Old Java Objects,普通的 Java对象】映射成数据库中的记录。 MyBatis 本是apache的一个开源项目ibatis, 2010年这个项目由apache 迁移到了google code,并且改名为MyBatis 。 2013年11月迁移到 Github 。 Mybatis官方文档 : http://www.mybatis.org/mybatis-3/zh/index.html GitHub : https://github.com/mybatis/mybatis-3 为什么需要Mybatis Mybatis就是帮助程序猿将数据存入数据库中 , 和从数据库中取数据 . 传统的jdbc操作 , 有很多重复代码块 .比如 : 数据取出时的封装 , 数据库的建立连接等等… , 通过框架可以减少重复代码,提高开发效率 .

MyBatis入门

馋奶兔 提交于 2020-03-04 01:59:36
1、MyBatis简介 MyBatis是一款优秀的 持久层框架 。 支持定制化SQL、存储过程以及高级映射。 MyBatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。 MyBatis可以使用简单的XML或注解来配置和映射原生类型、接口和java的pojo(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。 MyBatis本身是apache的一个开源项目 iBatis , 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis 。 2013年11月迁移到Github。 1.2、持久化 数据持久化 持久化就是将程序的数据在持久状态和瞬时状态转化的过程 内存:断电即失。 数据库、io文件可以使数据持久化。 1.3、持久层 Dao层、Service层、Controller层等等都是持久层。 持久层就是完成持久化工作的代码块。层界限十分明显。 1.4、MyBatis的优点 帮助程序员将数据存入到数据库中。 简单易学、灵活。 sql和代码的分离,提高了可维护性。 提供映射标签,支持对象与数据库的orm字段关系映射 提供对象关系映射标签,支持对象关系组建维护 提供xml标签,支持编写动态sql 1.5、获取MyBatis 通过Maven仓库获得 < ! --