MyBatis增删查改

1.创建控制台程序。

2.导入mysql和mybatis的jar包

3.创建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>
    <typeAliases>
        <typeAlias alias="User" type="models.User" />
    </typeAliases>
    <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://127.0.0.1:3306/test?useSSL=true" />
                <property name="username" value="root" />
                <property name="password" value="" />
            </dataSource>
        </environment>
    </environments>
</configuration>

4.创建实体类

 

public class User {
    private int id;
    private String name;

    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 User(int id, String name) {
        this.id = id;
        this.name = name;
    }
    @Override
    public String toString() {
        return "User{" +
                "id=" + id +
                ", name='" + name + '\'' +
                '}';
    }
}

5.创建IUser接口

 

public interface IUser {

    @Select("select * from tt where id =#{id}")
    public User getUserById(int id);

    @Select("select * from tt")
    public List<User> getUserList();

    @Insert("insert into tt(id,name) values(#{id},#{name})")
    public void insertUser(User user);

    @Delete("delete from tt where id = #{id}")
    public  void deleteUserById(int id);

    @Update("update tt set name=#{name} where id =#{id}")
    public void updateUserById(User user);
}

6.main函数

 

public class Main {

    private  static SqlSessionFactory sqlSessionFactory;
    private  static Reader reader;
    static {
        try {
            reader = Resources.getResourceAsReader("mybatis.xml");
            sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader);
            sqlSessionFactory.getConfiguration().addMapper(IUser.class);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    public static void main(String[] args) {
        //testSelect();
        //testInsert();
        //testDelete();
        testUpdate();
    }

    private static void  testSelect(){
        System.out.println("test select...");
        SqlSession session = sqlSessionFactory.openSession();
        try {
            IUser iUser = session.getMapper(IUser.class);
            List<User> users = iUser.getUserList();
            users.forEach(m -> {
                System.out.println(m);
            });
        }finally {
            session.close();
        }
    }

    private static void testInsert(){
        System.out.println("test insert...");
        SqlSession session = sqlSessionFactory.openSession();
        try {
            IUser iUser = session.getMapper(IUser.class);
            User testUser = new User(7, "name7");
            iUser.insertUser(testUser);
            session.commit();
        }
        finally {
            session.close();
        }
        System.out.println("赶紧去数据库查查!!!");
    }

    private static  void  testDelete(){
        System.out.println("test delete ...");
        SqlSession session = sqlSessionFactory.openSession();
        try {
            IUser iUser = session.getMapper(IUser.class);
            iUser.deleteUserById(7);
            session.commit();
        }finally {
            session.close();
        }
        System.out.println("麻溜的去数据库查查!!!");
    }

    private static void testUpdate(){
        System.out.println("test update...");
        SqlSession session = sqlSessionFactory.openSession();
        try {
            IUser iUser = session.getMapper(IUser.class);
            User testUser = new User(5, "name5");
            iUser.updateUserById(testUser);
            session.commit();
        }
        finally {
            session.close();
        }
        System.out.println("...");
    }
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Mybatis是一种Java持久层框架,它可以通过映射文件来实现对数据库的增删查改操作。 1. 增加操作: 在Mybatis中,可以使用insert语句来进行数据的插入操作。需要在映射文件中定义对应的SQL语句,然后通过SqlSession对象的insert()方法来执行操作。 例如: ``` <insert id="addUser" parameterType="com.example.User"> insert into user(name, age, sex) values(#{name}, #{age}, #{sex}) </insert> ``` 在Java代码中调用: ``` User user = new User(); user.setName("张三"); user.setAge(20); user.setSex("男"); SqlSession sqlSession = sqlSessionFactory.openSession(); sqlSession.insert("addUser", user); sqlSession.commit(); ``` 2. 删除操作: 在Mybatis中,可以使用delete语句来进行数据的删除操作。需要在映射文件中定义对应的SQL语句,然后通过SqlSession对象的delete()方法来执行操作。 例如: ``` <delete id="deleteUser" parameterType="int"> delete from user where id = #{id} </delete> ``` 在Java代码中调用: ``` int id = 1; SqlSession sqlSession = sqlSessionFactory.openSession(); sqlSession.delete("deleteUser", id); sqlSession.commit(); ``` 3. 查询操作: 在Mybatis中,可以使用select语句来进行数据的查询操作。需要在映射文件中定义对应的SQL语句,然后通过SqlSession对象的selectOne()方法来执行操作。 例如: ``` <select id="getUserById" parameterType="int" resultType="com.example.User"> select * from user where id = #{id} </select> ``` 在Java代码中调用: ``` int id = 1; SqlSession sqlSession = sqlSessionFactory.openSession(); User user = sqlSession.selectOne("getUserById", id); ``` 4. 修操作: 在Mybatis中,可以使用update语句来进行数据的修操作。需要在映射文件中定义对应的SQL语句,然后通过SqlSession对象的update()方法来执行操作。 例如: ``` <update id="updateUser" parameterType="com.example.User"> update user set name = #{name}, age = #{age}, sex = #{sex} where id = #{id} </update> ``` 在Java代码中调用: ``` User user = new User(); user.setId(1); user.setName("李四"); user.setAge(25); user.setSex("女"); SqlSession sqlSession = sqlSessionFactory.openSession(); sqlSession.update("updateUser", user); sqlSession.commit(); ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值