目录
一、总览图
二、运用
一、总览图
代码总览图
数据库总览图
二、运用
数据库的一张表对应一个封装类,一个mapper接口,一个mapper.xml文件, 一个实现类。表中的增删改查都在里面编写
但是配置xml文件整个数据库只要一个就好了
1.pom.xml文件根据创建的maven或者spring项目去配置
2.mybatis统一配置xml文件
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"https://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<!--数据库信息-->
<property name="driver" value="com.mysql.cj.jdbc.Driver"/><!--改:数据库的固定连接,老版本不用cj-->
<property name="url" value="jdbc:mysql://localhost:3306/mishop?useSSL=false&serverTimezone=UTC"/><!--mishop改:数据库的要连接的库-->
<property name="username" value="root"/><!--改:数据库的账号-->
<property name="password" value="root"/><!--改:数据库的密码-->
</dataSource>
</environment>
</environments>
<mappers>
<!--加载映射文件-->
<mapper resource="com/project/Mapper/AdminMapper.xml"/><!--改:把映射文件的源根路径复制到这里-->
</mappers>
</configuration>
3.pojo里面的封装类(属性对应数据库表中的属性)
ps:里面要含有set、get方法,有无参构造方法、toString
package com.project.pojo;
public class Admin {
private Integer adminId;
private String adminName;
private String adminPwd;
private Integer adminDisable;
public Integer getAdminId() {
return adminId;
}
public void setAdminId(Integer adminId) {
this.adminId = adminId;
}
public String getAdminName() {
return adminName;
}
public void setAdminName(String adminName) {
this.adminName = adminName;
}
public String getAdminPwd() {
return adminPwd;
}
public void setAdminPwd(String adminPwd) {
this.adminPwd = adminPwd;
}
public Integer getAdminDisable() {
return adminDisable;
}
public void setAdminDisable(Integer adminDisable) {
this.adminDisable = adminDisable;
}
public Admin(Integer adminId, String adminName, String adminPwd, Integer adminDisable) {
this.adminId = adminId;
this.adminName = adminName;
this.adminPwd = adminPwd;
this.adminDisable = adminDisable;
}
public Admin() {
}
@Override
public String toString() {
return "Admin{" +
"adminId=" + adminId +
", adminName='" + adminName + '\'' +
", adminPwd='" + adminPwd + '\'' +
", adminDisable=" + adminDisable +
'}';
}
}
4.SQL语句接口映射文件(小蓝鸟)
ps:红蓝小鸟插件(作用:方便好看)
package com.project.Mapper;
import com.project.pojo.Admin;
import java.util.List;
public interface AdminMapper {
//增
// void (封装类 封装类小写)
//括号要用封装类是因为表里面那行数据都要进行增加
void add (Admin admin);
//改
// void 自定义名称 (封装类 封装类小写);
//括号要用封装类是因为表里面那行数据都要进行增加
void updateId(Admin admin);
//查全部
// list <pojo封装类> 自定义全部查询();
//因为是查询全部,所以括号里面不用加任何参数
List<Admin> selectAll();
//查单个
//list <pojo封装类> 自定义全部查询(自定义参数根据id查询);
List<Admin> selectId(int id);
//删
// void 自定义名称 (自定义参数为要根据id进行删除);
void deleteId(int id);
}
5.编写SQL语句映射的xml文件(小红鸟)
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"https://mybatis.org/dtd/mybatis-3-mapper.dtd">
<!--sql映射查询方法-->
<!--namespace=对应接口的全部路径-->
<mapper namespace="com.project.Mapper.AdminMapper">
<!--新增的SQL语句 -->
<!--第一行:insert新增标签 id="接口定义的名字" parameterType="封装类的全限名" -->
<!--第二行:SQL语句-自增id用null,其他的用#{封装类的属性名} ,.... -->
<insert id="add" parameterType="com.project.pojo.Admin">
insert into admin values (null,#{adminName},#{adminPwd},#{adminDisable})
</insert>
<!--删除的SQL语句 -->
<!-- 第一行:delete删除标签 id="接口定义的名字" parameterType="封装类的全限名" -->
<!--第二行:SQL语句-根据id(封装的属性)进行删除 -->
<delete id="deleteId" parameterType="com.project.pojo.Admin">
delete from admin where adminId=#{adminId}
</delete>
<!--修改的SQL语句 -->
<!--第一行:update修改标签 id="接口定义的名字" parameterType="封装类的全限名" -->
<!-- 第二行:SQL语句-因为要修改的是那行的全部数据,所以封装的属性都要一一对应写出来 -->
<update id="updateId" parameterType="com.project.pojo.Admin">
update admin set adminName=#{adminName},adminPwd=#{adminPwd},adminDisable=#{adminDisable} where adminId=#{adminId}
</update>
<!--查询全部的SQL语句 -->
<!-- 第一行:select查询标签 resultType="封装类的权限定名" -->
<select id="selectAll" resultType="com.project.pojo.Admin">
select * from admin
</select>
<!-- 查询单个的SQL语句 如上 -->
<select id="selectId" resultType="com.project.pojo.Admin">
select * from admin where AdminId=#{adminId}
</select>
</mapper>
6.实现类(要运行哪个就直接从注释里面提取出来就好)
package com.project.pojo;
import com.project.Mapper.AdminMapper;
import lombok.extern.slf4j.Slf4j;
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 java.io.IOException;
import java.io.InputStream;
public class AdminImpl {
public static void main(String[] args) throws IOException {
//1.加载mybatis连接文件(核心配置文件)
String resource = "mybatis-config.xml";//这是连接数据库的
InputStream inputStream = Resources.getResourceAsStream(resource);//固定写法
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);//固定写法
//2.获取sqlSessionFactory对象--固定的写法
SqlSession sqlSession = sqlSessionFactory.openSession();
//3.执行sql语句
AdminMapper adminMapper = sqlSession.getMapper(AdminMapper.class);
//以下这些用哪个执行哪个
/* // 添加的方法
Admin admin = new Admin();
admin.setAdminName("wangwu");
admin.setAdminPwd("8888");
admin.setAdminDisable(54);
//Mapper接口里面的添加方法
adminMapper.add(admin);
*/
/* Mapper接口里面的删除方法
adminMapper.deleteId(14);
*/
/* 修改的方法
Admin admin = new Admin();
admin.setAdminId(7);
admin.setAdminName("王五");
admin.setAdminPwd("123456");
admin.setAdminDisable(5555);
//Mapper接口里面的修改方法
adminMapper.updateId(admin);
*/
/* 查询单个的方法,Mapper接口里面的查询方法
List<Admin> selectId = adminMapper.selectId(5);
System.out.println(selectId);
*/
/* //查询全部的方法
List<Admin> selectAll = adminMapper.selectAll();
System.out.println(selectAll);*/
//提交
sqlSession.commit();
//6.释放资源
sqlSession.close();
}
}
总结:路是一步一步慢慢走的,饭是一口一口吃的,每天进步,打好基础就好
有什么问题都可以评论区留言,看见都会回复的
如果你觉得本篇文章对你有所帮助的,多多支持吧!!!
点赞收藏评论,抱拳了!