虽然,MySQL数据库的实现流程可以通过学习JDBC了解。但是在实际中使用的过程中,往往会通过框架,因此,本文将从如何使用MyBatis框架进行展开。
平台使用:Windows10、IDEAJ2018.3、JDK1.8、MySQL
1. File→New→Project→Java,之后一直点击Next就可以创建成功。注意,在创建的过程中,Project location和Project name需要名字一致,这里我取名为mb_project。
2. File→New→Module→Maven,Module SDK选择1.8,如图。
3. 点击Next,设置GroupId(项目名称)、ArtifactId(项目中某一个模块的名称)、Version(项目的当前版本),设置完成后,点击Next,finish即可。如图:
4. 项目目录,至此如下:
5. 查看mybatisdemo01项目目录,其中src→main存放项目正式开发的代码,src→test存放测试代码。src→main→java存放java源代码,src→main→resources存放配置文件,src→test→java存放测试代码。pom.xml是packageObjectManagement,也是包对象管理器,所有项目中的依赖都在pom.xml文件中进行配置。配置过程中,首先要进行查看配置的依赖。
6. 在mvnrepository.com中,查询依赖mybatis。点击org.mybatis,选择3.4.3版本。进入界面,选择Maven依赖,并复制粘贴在pom.xml文件中,最后记住保存。注意,项目会自动下载该依赖。
7. 观察下载完成之后的External Libraries,项目中需要的mybatis依赖已经导入。
8. 导入mysql驱动jar包。 同理步骤6。(选择mysql-connector-java→5.1.41版本)。
9. 配置mybatis的主配置文件。resources→New→xml文件(取名mybatis.xml)。
10. 通过官方文档的Getting Started查询 ,得到如下的配置文档:
注意:在进行复制的时候,要将新建时存在的内容全部删除,并且在前,不可存在空格,否则会报错,如下:
Cause: org.xml.sax.SAXParseException; lineNumber: 2; columnNumber: 6; 不允许有匹配 "[xX][mM][lL]" 的处理指令目标。
说明:对于其中的configuration表示配置信息,enviroments当前的开发环境,enviroment当前的某一个开发环境,transactionManager事务管理,使用默认的JDBC,dataSource数据源,当前使用POOLED,即数据库连接池。
11. 自行设置POOLED中的driver、url、username、password。
12. src→main→resources→New→Directory(取名mapper),mapper→xml文件(取名usersMapper.xml)来定义映射关系。注意一般,映射类的名称通常是实体类的名称后面加上Mapper。代码同步骤10获得,如下:
注意:映射文件中有namespace,表示的是命名空间的意思,该值通常情况下是当前操作实体类的全称,如下:
13. 主配置文件mybatis.xml下的mappers中引入mapper,如图:
1. 数据库代码如下:
DROP DATABASE mytest01;
CREATE DATABASE mytest01;
USE mytest01;
Create TABLE users01(
id INT AUTO_INCREMENT PRIMARY KEY COMMENT '用户编号',
username VARCHAR(50) COMMENT '登录账号',
userpass VARCHAR(50) COMMENT '登录密码',
nickname VARCHAR(20) COMMENT '用户昵称'
)CHARSET=UTF8;
INSERT INTO users01 VALUES(1,'admin','admin','管理员');
INSERT INTO users01 VALUES(2,'manager','manager','管理员');
INSERT INTO users01 VALUES(3,'administrator','administrator','管理员');
SELECT * FROM users01;
2. src→main→java→New→Package(取名com.damu.entity),src→main→java→com.damu.entity→New→Class(取名Users),代码如下:
package com.damu.entity;
public class Users {
private Integer id;
private String username;
private String userpass;
private String nickname;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id =
id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username =
username;
}
public String getUserpass() {
return userpass;
}
public void setUserpass(String userpass) {
this.userpass =
userpass;
}
public String getNickname() {
return nickname;
}
public void setNickname(String nickname) {
this.nickname =
nickname;
}
@Override
public String toString() {
return "Users{" +
"id=" + id +
", username='" + username + '\''+
", userpass='" + userpass + '\'' +
", nickname='" + nickname + '\'' +
'}';
}
}
3. 新增Test类(取名TestDemo) ,通过Junit进行测试,代码如下:
import com.damu.entity.Users;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.junit.Test;
import java.io.IOException;
import java.io.InputStream;
import java.util.List;
public class TestDemo {
/**
* 通过junit进行测试
*/
@Test /*快速导入包Ctrl + Enter:优化导入包Alt+Ctrl+O*/
public void testDemo1() throws IOException {
//初始化mybatis配置环境
String resource = "mybatis.xml";
InputStream is = Resources.getResourceAsStream(resource);
SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(is);
//打开和数据库之间的会话
SqlSession
session = factory.openSession();
List ulist = session.selectList("usersList");
for(Users user : ulist){
System.out.println(user);
}
session.close();
}
}
4.测试完成,结果如下:
由此,我们已经将整一个项目利用框架进行搭建完成~