实例介绍MyBatis增删改查基本操作

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/h273979586/article/details/79864627

通过上一篇博客《MyBatis的入门介绍》我们了解了MyBatis基本原理
这篇我们就说说它的增删改查基本操作


实例应用

创建Java Product项目,目录结构如下:

这里写图片描述

数据库结构如下

这里写图片描述

conf.xml文件内容

<?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="development">
        <environment id="development">
            <transactionManager type="JDBC" />
            <dataSource type="POOLED">
                <property name="driver" value="com.mysql.jdbc.Driver" />
                <property name="url" value="jdbc:mysql://localhost:3306/mybatis" />
                <property name="username" value="root" />
                <property name="password" value="123456" />
            </dataSource>
        </environment>
    </environments>
    <mappers>
        <mapper resource="com/atguigu/day03_mybaits/test2/userMapper.xml"/>
    </mappers>
</configuration>

userMapper.xml文件内容

<?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="com.atguigu.day03_mybaits.test2.userMapper">

    <insert id="addUser" parameterType="com.atguigu.day03_mybaits.test2.User">
        INSERT INTO users(name,age) VALUE (#{name},#{age})
    </insert>

    <delete id="deleteUser" parameterType="int">
          DELETE FROM users WHERE id=#{id}
    </delete>

    <update id="updateUser" parameterType="com.atguigu.day03_mybaits.test2.User">
        UPDATE users set NAME=#{name},age=#{age} where id=#{id}
    </update>

    <select id="getUser" parameterType="int"
            resultType="com.atguigu.day03_mybaits.test2.User">
        select * from users where id=#{id}
    </select>

    <select id="getAllUsers" resultType="com.atguigu.day03_mybaits.test2.User">
        SELECT * FROM users
    </select>
</mapper>

Test2类添加方法

    public void testAdd(){
    //找配置文件和数据库连接
        String resource = "conf.xml";
        InputStream is=Test.class.getClassLoader().getResourceAsStream(resource);
	//创建SqlSessionFactory对象
        SqlSessionFactory factory=new SqlSessionFactoryBuilder().build(is);
        //openSession默认手动提交,里面参数为true默认自动提交
        SqlSession session=factory.openSession();
	//指定MyBatis执行的xml文件
        String statement="com.atguigu.day03_mybaits.test2.userMapper.addUser";
        User u=new User();
        u.setId(-1);
        u.setName("KK");
        u.setAge(23);
        int insert=session.insert(statement,u);
        //手动提交方式
        session.commit();
        System.out.println(insert);
    }

Test2类更新方法

    public void testUpdate(){
    //找配置文件和数据库连接
        String resource = "conf.xml";
        InputStream is=Test.class.getClassLoader().getResourceAsStream(resource);
	//创建SqlSessionFactory对象
        SqlSessionFactory factory=new SqlSessionFactoryBuilder().build(is);
        //openSession默认手动提交,里面参数为true默认自动提交
        SqlSession session=factory.openSession();
	//指定MyBatis执行的xml文件
        String statement="com.atguigu.day03_mybaits.test2.userMapper.addUser";
        User u=new User();
        u.setId(5);
        u.setName("KK");
        u.setAge(25);
        int insert=session.update(statement,u);
        //手动提交方式
        session.commit();
        System.out.println(insert);
    }

Test2类删除方法

    public void testDelete(){
    //找配置文件和数据库连接
        String resource = "conf.xml";
        InputStream is=Test.class.getClassLoader().getResourceAsStream(resource);
	//创建SqlSessionFactory对象
        SqlSessionFactory factory=new SqlSessionFactoryBuilder().build(is);
        //openSession默认手动提交,里面参数为true默认自动提交
        SqlSession session=factory.openSession();
	//指定MyBatis执行的xml文件
        String statement="com.atguigu.day03_mybaits.test2.userMapper.addUser";
		int insert=session.delete(statement,5);
        //手动提交方式
        session.commit();
        System.out.println(insert);
    }

Test2类查找一条方法

    public void testGetUser(){
    //找配置文件和数据库连接
        String resource = "conf.xml";
        InputStream is=Test.class.getClassLoader().getResourceAsStream(resource);
	//创建SqlSessionFactory对象
        SqlSessionFactory factory=new SqlSessionFactoryBuilder().build(is);
        //openSession默认手动提交,里面参数为true默认自动提交
        SqlSession session=factory.openSession();
	//指定MyBatis执行的xml文件
        String statement="com.atguigu.day03_mybaits.test2.userMapper.addUser";
		User u=session.selectOne(statement,1);
        //手动提交方式
        session.commit();
        System.out.println(u);
    }

Test2类查找全部方法

    public void testGetAll(){
    //找配置文件和数据库连接
        String resource = "conf.xml";
        InputStream is=Test.class.getClassLoader().getResourceAsStream(resource);
	//创建SqlSessionFactory对象
        SqlSessionFactory factory=new SqlSessionFactoryBuilder().build(is);
        //openSession默认手动提交,里面参数为true默认自动提交
        SqlSession session=factory.openSession();
	//指定MyBatis执行的xml文件
        String statement="com.atguigu.day03_mybaits.test2.userMapper.addUser";
		List<User>list=session.selectList(statement);
        //手动提交方式
        session.commit();
        System.out.println(list);
    }

猜你喜欢

转载自blog.csdn.net/h273979586/article/details/79864627