sqlSession原生crud

1、框架介绍

1.1软件架构(三层)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2、mybatis

2.1、ORM介绍
在这里插入图片描述
什么是mybatis
官网:https://mybatis.org/mybatis-3/zh/index.html
在这里插入图片描述
mybatis的优势
在这里插入图片描述
MyBatis框架的缺点:
在这里插入图片描述
mybatis入门案例
开发步骤:
在这里插入图片描述
创建表

CREATE TABLE user (
    id BIGINT(20) NOT NULL COMMENT '主键ID',
    name VARCHAR(30) NULL DEFAULT NULL COMMENT '姓名',
    age INT(11) NULL DEFAULT NULL COMMENT '年龄',
    email VARCHAR(50) NULL DEFAULT NULL COMMENT '邮箱',    
    PRIMARY KEY (id)
     );

添加数据

INSERT INTO user (id, name, age, email)
VALUES (1, 'Jone', 18, 'test1@baomidou.com'),
(2, 'Jack', 20, 'test2@baomidou.com'),
(3, 'Tom', 28, 'test3@baomidou.com'),
(4, 'Sandy', 21, 'test4@baomidou.com'), 
(5, 'Billie', 24, 'test5@baomidou.com');

2、新建maven项目,添加依赖

<dependencies>
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>5.1.48</version>
    </dependency>
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.12</version>
    </dependency>
    <dependency>
        <groupId>org.mybatis</groupId>
        <artifactId>mybatis</artifactId>
        <version>3.5.6</version>
    </dependency>
</dependencies>

3、新建实体类

public class User {
    private Integer id;
    private Integer age;
    private String name;
    private String email;
}

4、新建映射文件
在这里插入图片描述
在这里插入图片描述
显示时还是 .
在这里插入图片描述
新建UserMapper.xml 类似于以前的xxxxDao

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">

<!--namespace 命名空间:映射文件唯一标识符,相当于类名
 作用:区别多个mapper   StudentMapper   DogMapper-->
<mapper namespace="UserMapper">
    <!--  select标签是专门用来执行查询的sql  <select></select>称为:执行单元
      id:是这个执行单元的唯一标识符   作用是区别多个执行单元
      resultType:映射结果类型    就是说把sql查询到的记录晨映射成哪个类型(实体类)
      完全限定名:包名+类名      标签体就写我们要执行sql      -->
    <select id="listAll" resultType="com.ujiuye.pojo.User" >
        SELECT * FROM `user`
    </select>
</mapper>

5、新建全局配置文件
在这里插入图片描述

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
        PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-config.dtd">

<configuration>
    <!-- environment环境   default默认环境=development  -->
    <environments default="development2">
        <environment id="development">
            <!--    事务管理        -->
            <transactionManager type="JDBC"/>
            <!--     数据源       -->
            <dataSource type="POOLED">
                <property name="driver" value="com.mysql.jdbc.Driver"/>
                <property name="url" value="jdbc:mysql://127.0.0.1:3306/mybatis1221"/>
                <property name="username" value="root"/>
                <property name="password" value="root"/>
            </dataSource>
        </environment>
    </environments>
    <!--  映射   告诉mybatis我们的sql在哪里 -->
    <mappers>
        <mapper resource="com/ujiuye/mapper/UseraMapper.xml"/>
    </mappers>
</configuration>

6、测试类

/**
 * 后面我们整合了spring后SqlSessionFactory与SqlSession都交给spring创建与管理
 */
public class UserTest {
    @Test
    public void test1() throws IOException {
        //配置的路径
        String path="mybatis-config.xml";
        //创建输入流对象
        InputStream inputStream = Resources.getResourceAsStream(path);
        //构建工厂
        SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(inputStream);
        //获取SqlSession   与数据之间的一个会话
        SqlSession sqlSession = factory.openSession();
        //执行sql   statement:执行单元的位置    命名空间+执行单元的id
        List<User> list = sqlSession.selectList("UserMapper.listAll");
        //输出  jdk1.8新特性
        list.forEach(System.out::println);
        //关闭
        sqlSession.close();
    }
 }

运行结果
在这里插入图片描述

完成增删除改查

添加
修改映射文件UserMapper,添加执行单元
在这里插入图片描述
添加测试方法
在这里插入图片描述
修改
在这里插入图片描述
修改测试方法
在这里插入图片描述
删除
修改映射文件UserMapper,添加执行单元
在这里插入图片描述
删除测试方法
在这里插入图片描述
查单个
修改映射文件UserMapper,添加执行单元
在这里插入图片描述
查询测试方法
在这里插入图片描述
传多个参
修改映射文件UserMapper,添加执行单元
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值