MyBatis入门程序 之 添加用户 更新用户 删除用户

一、添加用户

  1. 编写User类
import lombok.Data;

@Data
public class User {
    private Integer id;
    private String username;
    private String jobs;
    private String phone;
}
  1. 配置mapper文件
<?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" >
<mapper namespace="UserMapper">

<!--根据用户编号,获取用户信息-->
<select id="findUserById" parameterType="Integer" resultType="com.mason.User">
        select * from t_user where id = #{id}
    </select>

<select id="findUserByName" parameterType="String" resultType="com.mason.User">
        select * from t_user where username like '%${value}%'
    </select>

<insert id="addUser" parameterType="com.mason.User">
    insert into t_user(username,jobs,phone) values (#{username},#{jobs},#{phone})
</insert>

</mapper>

#{username}会查找参数对象User的username属性,#{jobs}和#{phone}也是一样的,并将其属性值传入SQL语句中

  1. MyBatis核心配置文件
<?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>

    <!--配置环境-->
    <environments default="mysql">
        <environment id="mysql">
            <transactionManager type="JDBC"/>
            <dataSource type="POOLED">
                <property name="driver" value="com.mysql.cj.jdbc.Driver"/>
                <property name="url" value="jdbc:mysql:///db_mybatis?serverTimezone=CTT"/>
                <property name="username" value="xxxxxxx"/>
                <property name="password" value="xxxxxx"/>
            </dataSource>
        </environment>
    </environments>

    <!--配置mapper位置-->
    <mappers>
        <mapper resource="UserMapper.xml"/>
    </mappers>

</configuration>
  1. 测试:
@Test
    public void addUserTest() throws Exception {
        InputStream inputStream = Resources.getResourceAsStream("mabatis-config.xml");
        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
        SqlSession sqlSession = sqlSessionFactory.openSession();
        User user = new User();
        user.setUsername("tom");
        user.setJobs("worker");
        user.setPhone("13624589654");
        int rows = sqlSession.insert("UserMapper.addUser", user);
        if (rows > 0) {
            System.out.println("成功插入" + rows + "条数据");
        } else {
            System.out.println("添加数据失败");
        }
        sqlSession.commit();
        sqlSession.close();
    }

输出:
在这里插入图片描述
运行前的数据库:
在这里插入图片描述
运行后的:增加了一条数据
在这里插入图片描述

二、更新用户

  1. UserMapper.xml添加元素【核心配置文件如上,不赘述了】
    <update id="updateUser" parameterType="com.mason.User">
        update t_user set username=#{username},jobs=#{jobs},phone=#{phone} where id=#{id}
    </update>
  1. 测试
    @Test
    public void updateUserTest() throws Exception{
        InputStream inputStream = Resources.getResourceAsStream("mabatis-config.xml");
        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
        SqlSession sqlSession = sqlSessionFactory.openSession();
        User user = new User();
        user.setId(4);
        user.setUsername("tom");
        user.setJobs("teacher");
        user.setPhone("13624589654");
        int rows = sqlSession.update("UserMapper.addUser", user);
        if (rows > 0) {
            System.out.println("成功修改了" + rows + "条数据");
        } else {
            System.out.println("修改数据失败");
        }
        sqlSession.commit();
        sqlSession.close();
    }
  1. 结果:
    在这里插入图片描述
    运行前:
    在这里插入图片描述
    运行后:tom的jobs已经变了,【有点问题,为什么不是在原数据上修改呢?】
    在这里插入图片描述

三、删除用户

  1. UserMapper.xml添加元素
    <delete id="deleteUser" parameterType="Integer">
        delete from t_user where id=#{id}
    </delete>
  1. 测试:
    @Test
    public void deleteUserTest() throws Exception{
        InputStream inputStream = Resources.getResourceAsStream("mabatis-config.xml");
        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
        SqlSession sqlSession = sqlSessionFactory.openSession();
        int rows = sqlSession.delete("UserMapper.deleteUser", 4);
        if (rows > 0) {
            System.out.println("成功删除了" + rows + "条数据");
        } else {
            System.out.println("删除数据失败");
        }
        sqlSession.commit();
        sqlSession.close();
    }
  1. 结果:
    在这里插入图片描述
    运行前:
    在这里插入图片描述
    运行后:看到id=4的数据被删除了。
    在这里插入图片描述

附录:maven依赖:

<dependencies>
<!--        mysql的依赖jar包-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.19</version>
        </dependency>
<!--        mybatis的依赖-->
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>3.5.4</version>
        </dependency>
        <!--lombok依赖-->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.18.12</version>
            <scope>provided</scope>
        </dependency>
        <!--用于测试的jar包-->
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
        </dependency>

        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
            <version>1.7.12</version>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-log4j12</artifactId>
            <version>1.7.12</version>
        </dependency>
        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>1.2.17</version>
        </dependency>
        <dependency>
            <groupId>org.apache.logging.log4j</groupId>
            <artifactId>log4j-core</artifactId>
            <version>2.13.1</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/org.apache.logging.log4j/log4j-api -->
        <dependency>
            <groupId>org.apache.logging.log4j</groupId>
            <artifactId>log4j-api</artifactId>
            <version>2.13.1</version>
        </dependency>

    </dependencies>
发布了157 篇原创文章 · 获赞 0 · 访问量 5008

猜你喜欢

转载自blog.csdn.net/Mason97/article/details/105684318