Java学习笔记IT@程序员猿媛程序员

Mybatis(持久层的框架),注入的三种方式

2019-06-27  本文已影响5人  您好简书

MyBatis 是一款优秀的持久层框架,它支持定制化 SQL(灵活)、存储过程(PLSQL模块化的组件,数据库的一部分)以及高级映射(表映射为Bean也可以将Bean映射为表)。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口(框架的思想都是面向接口来编程)和 Java 的 POJO(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。

Mybatis 是一个持久层的架构,是 apache 下的顶级项目。
Mybatis 原先是托管在 googlecode 下,再后来是托管在 Github 上。
Mybatis 让程序员将主要的精力放在 sql 上,通过 Mybatis 提供的映射方式,自由灵活生成(半自动,大部分需要程序员编写 sql )满足需要 sql 语句。
Mybatis 可以将向 preparedStatement 中的输入参数自动进行输入映射,将查询结果集灵活的映射成 java 对象。(输出映射)

Mybatis 框架结构图

image

说明:

Mybatis工程需要引用Maven的本地仓库,关于Maven本地仓库的配制可以参考
地址:https://www.jianshu.com/p/e351f8e22c9a

Mybatis入门程序
1、需求
实现以下功能:

2、环境

数据库表结构如下:

CREATE TABLE `user` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `username` varchar(32) NOT NULL COMMENT '用户名称',
  `birthday` date DEFAULT NULL COMMENT '生日',
  `sex` char(1) DEFAULT NULL COMMENT '性别',
  `address` varchar(256) DEFAULT NULL COMMENT '地址',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=32 DEFAULT CHARSET=utf8;

INSERT INTO `user` VALUES (1, '王五', NULL, '2', NULL);
INSERT INTO `user` VALUES (10, '张三', '2014-7-10', '1', '北京市');
INSERT INTO `user` VALUES (16, '张小明', NULL, '1', '河南郑州');
INSERT INTO `user` VALUES (22, '陈小明', NULL, '1', '河南郑州');
INSERT INTO `user` VALUES (24, '张三丰', NULL, '1', '河南郑州');
INSERT INTO `user` VALUES (25, '陈小明', NULL, '1', '河南郑州');
INSERT INTO `user` VALUES (26, '王五', NULL, NULL, NULL);
INSERT INTO `user` VALUES (28, '陈小明111', '2017-9-14', '1', '式');
INSERT INTO `user` VALUES (29, 'tom123', '2018-1-19', '1', 'shenyang');
INSERT INTO `user` VALUES (30, 'tom123', '2018-1-19', '1', 'shenyang');
INSERT INTO `user` VALUES (31, 'aabbcc', '2018-6-12', 'm', 'neusoft');

Spring的依赖注入方式有几种

  1. 接口注入
  2. 构造器注入
  3. 属性注入(访问器注入)
    Mapper接口与Mapper.xml文件的绑定的规则
  4. 方法名一定要与id相同
  5. 方法的输入参数的类型要与parameterType的类型一样
  6. 方法的返回值类型一定要与resultType的类型一样

1.创建一个Maven工程
2.在pom.xml中添加项目的依赖库(mybatis)

上一篇 下一篇

猜你喜欢

热点阅读