博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MyBatis——MyBatis实现增、删、改、查
阅读量:3943 次
发布时间:2019-05-24

本文共 6185 字,大约阅读时间需要 20 分钟。

MyBatis——MyBatis实现增、删、改、查

1.创建数据库

在这里插入图片描述
在这里插入图片描述
2.创建Maven项目如下结构,记得标记java和resources目录为资源目录
在这里插入图片描述
3.导包,配置pom.xml

4.0.0
com.muan
MyBatis练习
1.0-SNAPSHOT
junit
junit
4.11
org.mybatis
mybatis
3.5.1
mysql
mysql-connector-java
5.1.47
log4j
log4j
1.2.17
src/main/java
**/*.properties
**/*.xml
false
src/main/resources
**/*.properties
**/*.xml
false

4.在pojo包下编写实体类User

package com.muan.pojo;public class User {    private int id;    private String name;    private String password;    public User() {    }    public User(int id, String name, String password) {        this.id = id;        this.name = name;        this.password = password;    }    public int getId() {        return id;    }    public void setId(int id) {        this.id = id;    }    public String getName() {        return name;    }    public void setName(String name) {        this.name = name;    }    public String getPassword() {        return password;    }    public void setPassword(String password) {        this.password = password;    }    @Override    public String toString() {        return "User{" +                "id=" + id +                ", name='" + name + '\'' +                ", password='" + password + '\'' +                '}';    }}

5.编写dao层接口

package com.muan.dao;import com.muan.pojo.User;import java.util.List;public interface UserMapper {    //获取全部用户    List
getAllUser(); //通过id获取用户 User getUserById(int id); //添加一个用户 int addUser(User user); //通过id删除用户 int deleteUserById(int id); //修改用户 int modify(User user);}

6.编写对应的xml文件,并编写SQL

insert into user(id,name,pwd) values (#{id},#{name},#{password})
delete from user where id=#{id}
update user set name=#{name},pwd=#{password} where id=#{id}

7.编写JDBC配置文件database.properties

driver = com.mysql.jdbc.Driverusername = rootpassword = 123456url = jdbc:mysql://localhost:3306/mybatis?useSSL=true&useUnicode=true&characterEncoding=UTF-8

8.配置mybatis-config.xml

9.编写mybatis工具类

package com.muhan.utils;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 MyBatisUtils {    //类变量不需要设置默认值;    private static SqlSession sqlSession;    static {        //在maven中,所有的资源文件一般都放在resources目录下,我们可以直接拿到。        try {            String resource = "mybatis-config.xml";            InputStream inputStream = Resources.getResourceAsStream(resource);            SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);            sqlSession= sqlSessionFactory.openSession();        } catch (IOException e) {            e.printStackTrace();        }    }    //设置SqlSessionFactory公共的方法    public static SqlSession getSqlSession(){        return sqlSession;    }}

10.测试:在Test目录下的编写测试类

  • 获取全部用户
@Test    public void getAllUserTest(){        //通过工具类获取sqlSessionFactory对象        SqlSession sqlSession = MyBatisUtils.getSqlSession();        //获取mapper队形,参数传入的是接口类的class对象        UserMapper mapper = sqlSession.getMapper(UserMapper.class);        //通过mapper对象调用方法        List
allUser = mapper.getAllUser(); for (User user : allUser) { System.out.println(user); } }

效果展示:

在这里插入图片描述

  • 通过id获取用户
@Test    public void getUserById(){        SqlSession sqlSession = MyBatisUtils.getSqlSession();        UserMapper mapper = sqlSession.getMapper(UserMapper.class);        User userById = mapper.getUserById(1);        System.out.println(userById);    }

效果展示:

在这里插入图片描述

  • 添加用户:注意事务提交和关闭事务
//添加用户    @Test    public void addUser(){        SqlSession sqlSession = MyBatisUtils.getSqlSession();        UserMapper mapper = sqlSession.getMapper(UserMapper.class);        User user = new User(4, "小可爱", "123456");        mapper.addUser(user);        sqlSession.commit();        sqlSession.close();    }

效果展示:

在这里插入图片描述

  • 通过id删除用户:注意事务提交和关闭事务
@Test    public void deleteUserById(){        SqlSession sqlSession = MyBatisUtils.getSqlSession();        UserMapper mapper = sqlSession.getMapper(UserMapper.class);        mapper.deleteUserById(4);        sqlSession.commit();        sqlSession.close();    }

效果展示:

在这里插入图片描述

  • 修改用户:注意事务提交和关闭事务
@Test    public void modify(){        SqlSession sqlSession = MyBatisUtils.getSqlSession();        UserMapper mapper = sqlSession.getMapper(UserMapper.class);        User user = new User(4, "小可爱", "5678");        mapper.modify(user);        sqlSession.commit();        sqlSession.close();    }

效果展示:

在这里插入图片描述

转载地址:http://joiwi.baihongyu.com/

你可能感兴趣的文章
LUA--thrift--lib库的创建生成
查看>>
Shell开启扩展模式匹配shopt -s extglob
查看>>
浅谈 URI 及其转义
查看>>
nginx 优化
查看>>
openresty+lua在反向代理服务中的玩法
查看>>
ClickHouse集群搭建从0到1
查看>>
nginx实现请求的负载均衡 + keepalived实现nginx的高可用
查看>>
linux shell 中数组的定义和for循环遍历的方法
查看>>
求1!+2!+3!....+20!(java代码)
查看>>
VMware安装Ubuntu系统无法选择语言
查看>>
QT5.12安装
查看>>
Git/Github初步使用记录
查看>>
QT 开发问题合集
查看>>
Github使用问题合集
查看>>
QT多线程服务器
查看>>
Ubuntu 18.04.2 ulimit配置
查看>>
Ubuntu Mysql 安装与配置
查看>>
QT5.12 Mysql驱动未能加载问题
查看>>
现场直击|SequoiaDB@SIGMOD 2021:关注数据库的根科技存储技术
查看>>
赋能政企智慧办公,巨杉数据库与致远互联完成产品互认证
查看>>