一、准备工作
1.1 下载软件
先下载好lntellij IDEA软件,可以下载官网的也可以下载绿色版破解版。安装好之后搭配环境,环境搭配好就可以新建项目,这里就不叫大家如何搭配环境了。
1.2 准备好数据库
创建mybatis数据库
运行数据库语句(语句放下面了)
create table user(
id int unsigned primary key auto_increment comment 'ID',
name varchar(100) comment '姓名',
age tinyint unsigned comment '年龄',
gender tinyint unsigned comment '性别, 1:男, 2:女',
phone varchar(11) comment '手机号'
) comment '用户表';insert into user(id, name, age, gender, phone) VALUES (null,'白眉鹰王',55,'1','18800000000');
insert into user(id, name, age, gender, phone) VALUES (null,'金毛狮王',45,'1','18800000001');
insert into user(id, name, age, gender, phone) VALUES (null,'青翼蝠王',38,'1','18800000002');
insert into user(id, name, age, gender, phone) VALUES (null,'紫衫龙王',42,'2','18800000003');
insert into user(id, name, age, gender, phone) VALUES (null,'光明左使',37,'1','18800000004');
insert into user(id, name, age, gender, phone) VALUES (null,'光明右使',48,'1','18800000005');
二、新建项目
1.1 新建项目步骤
然后点击工具栏的New新建项目
点击Spring lnitializr
选择Web勾选Spring Web
选择SQL勾选MyBatis Framework和MySQL Driver,然后点击Create创建项目
创建好如下图
1.2 新建包和类
首先点击cn.lzpu右键新建类
新建pojo的包和User类
创建好之后敲User类的代码(代码我给出下面了)
User的代码:
private Integer id; private String name; private short age; private short gender; private String phone; public User(Integer id, String name, short age, short gender, String phone) { this.id = id; this.name = name; this.age = age; this.gender = gender; this.phone = phone; } public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public short getAge() { return age; } public void setAge(short age) { this.age = age; } public short getGender() { return gender; } public void setGender(short gender) { this.gender = gender; } public String getPhone() { return phone; } public void setPhone(String phone) { this.phone = phone; } @Override public String toString() { return "User{" + "id=" + id + ", name='" + name + '\'' + ", age=" + age + ", gender=" + gender + ", phone='" + phone + '\'' + '}'; }
1.3 配置参数
#驱动类名称
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
#数据库连接的url
spring.datasource.url=jdbc:mysql://localhost:3306/mybatis
#连接数据库的用户名
spring.datasource.username=root
#连接数据库的密码
spring.datasource.password=123456
1.4 新建接口
新建好敲相应的代码(代码我给到下面)
package cn.lzpu.mapper;
import cn.lzpu.pojo.User;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;
import java.util.List;
@Mapper
public interface UserMapper {
@Select("SELECT * FROM mybatis.user;")
public List<User> list();
1.5 编写运行程序
package cn.lzpu;
import cn.lzpu.mapper.UserMapper;
import cn.lzpu.pojo.User;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;
@SpringBootTest
class SpringbootMybatisQuickstartApplicationTests {
@Autowired
private UserMapper userMapper;
@Test
public void contextLoads() {
List<User> userList=userMapper.list();
for (User user : userList){
System.out.println(user);
}
}
@Test
public void testJdbc() throws Exception {
//1. 注册驱动
Class.forName("com.mysql.cj.jdbc.Driver");
//2. 获取连接对象
String url = "jdbc:mysql://localhost:3306/mybatis";
String username = "root";
String password = "lym036280";
Connection connection = DriverManager.getConnection(url, username, password);
//3. 获取执行SQL的对象Statement,执行SQL,返回结果
String sql = "select * from user";
Statement statement = connection.createStatement();
ResultSet resultSet = statement.executeQuery(sql);
//4. 封装结果数据
List<User> userList = new ArrayList<>();
while (resultSet.next()){
int id = resultSet.getInt("id");
String name = resultSet.getString("name");
short age = resultSet.getShort("age");
short gender = resultSet.getShort("gender");
String phone = resultSet.getString("phone");
User user = new User(id,name,age,gender,phone);
userList.add(user);
}
//5. 释放资源
statement.close();
connection.close();
}
}
三、运行成功
四、三层架构
1.1建立逻辑处理层service和数据访问层dao
2.2 建立数据访问层的接口和实现类
在dao包创建EmpDao接口
EmpDao的代码块
package cn.zpu.dao;
import cn.zpu.pojo.Emp;
import java.util.List;
public interface EmpDao {
//获取员工数据
public List<Emp> listEmp();
}
在dao包下的impl包创建EmpDaoA
package cn.zpu.dao.impl;
import cn.zpu.dao.EmpDao;
import cn.zpu.pojo.Emp;
import cn.zpu.utils.XmlParserUtils;
import org.springframework.stereotype.Component;
import org.springframework.stereotype.Repository;
import java.util.List;
//@Component
@Repository
public class EmpDaoA implements EmpDao {
@Override
public List<Emp> listEmp(){
String file =this.getClass().getClassLoader().getResource("emp.xml").getFile();
List<Emp> empList= XmlParserUtils.parse(file,Emp.class);
return empList;
}
}
3.3 建立逻辑处理接口和实现类
在service包下创建Empservice接口
package cn.zpu.service;
import cn.zpu.pojo.Emp;
import java.util.List;
public interface Empservice {
//获取员工列表
public List<Emp> listEmp();
}
在service包下的impl包下创建EmpserviceA
package cn.zpu.service.impl;
import cn.zpu.dao.EmpDao;
import cn.zpu.dao.impl.EmpDaoA;
import cn.zpu.pojo.Emp;
import cn.zpu.service.Empservice;
import java.util.List;
public class EmpserviceA implements Empservice {
private EmpDao empDao =new EmpDaoA();
@Override
public List<Emp> listEmp(){
List<Emp> empList = empDao.listEmp();
for (Emp emp:empList){
String gender = emp.getGender();
if("1".equals(gender)){
emp.setGender("男");
}else {
emp.setGender("女");
}
String job = emp.getJob();
if("1".equals(job)){
emp.setJob("讲师");
}else if("2".equals(job)){
emp.setJob("班主任");
}
else {
emp.setJob("就业指导");
}
}
return empList;
}
}
4.4 修改Controller
5.5 运行成功截图