MyBatis是java持久层的框架,我们知道java与数据库进行数据交换时需要使用jdbc,但是jdbc却存在有以下几个问题:
- 数据库连接的频繁创建、释放浪费资源进而影响系统性能。
- sql代码写在 java文件当中,如果在开发过程中我们改动某个sql,就需要去修改java代码,改完之后还需要重新编译。
- 对结果集的解析也是硬编码,sql变化会导致解析结果的代码也跟着变化,系统不易维护。
进而我们使用MyBatis框架来代替jdbc。
配置我使用的idea版本是:2021.2.2
首先我们新建一个maven项目
然后选定项目目录
这是最初始的页面
接下来我们需要在pom.xml下引入坐标
以下是我引入的坐标及jar包
1. 引入MyBatis的3.4.5的版本的坐标
2. 引入MySQL驱动的jar包,5.1.6版本
3. 引入Junit单元测试的jar包
4. 引入log4j的jar包,1.2.12版本(需要引入log4j.properties的配置文件)
org.mybatis
mybatis
3.4.5
mysql
mysql-connector-java
5.1.6
junit
junit
4.10
log4j
log4j
1.2.17
引入后我们需要点一下“m”使其生效。
我们知道MyBatis是为了和数据库传输数据,所以我们创建一个数据库和一张user表
代码如下,直接在Navicat下运行即可
create database mybatis_demo;
use mybatis_demo;
CREATE TABLE `user` (
`id` int(11) NOT NULL auto_increment,
`username` varchar(32) NOT NULL COMMENT '用户名称',
`birthday` datetime default NULL COMMENT '生日',
`sex` char(1) default NULL COMMENT '性别',
`address` varchar(256) default NULL COMMENT '地址',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
insert into `user`(`id`,`username`,`birthday`,`sex`,`address`) values (1,'老王','2018-02-27
17:47:08','男','北京'),(2,'熊大','2018-03-02 15:09:37','女','上海'),(3,'熊二','2018-03-04
11:34:34','女','深圳'),(4,'光头强','2018-03-04 12:04:06','男','广州');
然后我们在源根目录下创建一个实体类User,数据库中的一个表对应java中的一个实体类
我们按照数据库表中字段为其设置一一对应的属性,然后生成对应的get和set方法
private Integer id;
private String username;
private Date birthday;
private String sex;
private String address;
接下来我们需要创建一个userDao接口
然后我们需要在resources目录下,创建mapper文件夹。编写UserDao.xml的配置文件,导入约束文件。我们所写的sql语句都在UserDao.xml里
首次添加时我们需要在下图展示中创建一个模板
模板内容:
创建UserDao.xml
我们在namespace里映射到UserDao接口
接下来需要创建主配置目录,我们在resources目录下创建SqlMapConfig.xml的配置文件(这里名称随意起)然后导入对应的约束,并编写主配置文件。
首次创建和刚刚创建UserDao.xml大同小异,这里不再赘述
至此基本配置已经完成。
测试下面我们来做一个简单的测试:
首先我们在UserDao.xml里写一条sql语句
我们来查询数据库里的所有信息
然后我们需要在UserDao接口中定义相关方法,和id对应
然后我们在测试目录下创建一个UserTest类并写下查询方法
查询成功
Mybatis基础入门2-----简单的增删改查
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)