mybatis操作数据库进行增删改查

  1. 配置MyBatis:在项目的配置文件中(通常是一个XML文件,比如mybatis-config.xml),配置MyBatis的相关信息,包括数据库连接信息、映射文件路径等。

  2. 创建映射文件:映射文件(通常是一个XML文件)定义了数据库表与Java对象之间的映射关系,以及对数据库的增删改查操作。在映射文件中,你需要定义SQL语句和对应的参数。

  3. 创建Java对象:创建与数据库表对应的Java对象,对象的属性与数据库表的字段一一对应。

  4. 编写Java代码:通过MyBatis的API,编写Java代码来执行数据库的增删改查操作。

有一个名为User的数据库表,包含idname两个字段。

  1. 配置MyBatis

mybatis-config.xml文件中配置数据库连接信息和映射文件路径,例如:

<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/mydatabase"/>
        <property name="username" value="root"/>
        <property name="password" value="password"/>
      </dataSource>
    </environment>
  </environments>
  <mappers>
    <mapper resource="com/example/mappers/UserMapper.xml"/>
  </mappers>
</configuration>
  1. 创建映射文件

UserMapper.xml文件中定义SQL语句和对应的参数,例如:

<mapper namespace="com.example.mappers.UserMapper">
  <insert id="insertUser" parameterType="com.example.User">
    INSERT INTO user (id, name) VALUES (#{id}, #{name})
  </insert>
  
  <delete id="deleteUser" parameterType="int">
    DELETE FROM user WHERE id = #{id}
  </delete>
  
  <update id="updateUser" parameterType="com.example.User">
    UPDATE user SET name = #{name} WHERE id = #{id}
  </update>
  
  <select id="getUserById" parameterType="int" resultType="com.example.User">
    SELECT * FROM user WHERE id = #{id}
  </select>
</mapper>
  1. 创建Java对象

创建一个名为User的Java对象,包含idname两个属性,以及相应的getter和setter方法。

package com.example;

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

  // Getter and setter methods
  // ...
}
  1. 编写Java代码

使用MyBatis的API执行数据库的增删改查操作,例如:

package com.example;

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.Reader;

public class Main {
    
    
  public static void main(String[] args) {
    
    
    try {
    
    
      // 加载MyBatis配置文件
      Reader reader = Resources.getResourceAsReader("mybatis-config.xml");
      // 创建SqlSessionFactory
      SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader);
      // 创建SqlSession
      SqlSession sqlSession = sqlSessionFactory.openSession();

      // 插入数据
      User user = new User();
      user.setId(1);
      user.setName("John");
      sqlSession.insert("com.example.mappers.UserMapper.insertUser", user);

      // 提交事务
      sqlSession.commit();

      // 查询数据
      User retrievedUser = sqlSession.selectOne("com.example.mappers.UserMapper.getUserById", 1);
      System.out.println(retrievedUser.getName());

      // 更新数据
      retrievedUser.setName("Jane");
      sqlSession.update("com.example.mappers.UserMapper.updateUser", retrievedUser);

      // 提交事务
      sqlSession.commit();

      // 删除数据
      sqlSession.delete("com.example.mappers.UserMapper.deleteUser", 1);

      // 提交事务
      sqlSession.commit();

      // 关闭SqlSession
      sqlSession.close();
    } catch (IOException e) {
    
    
      e.printStackTrace();
    }
  }
}

以上示例演示了使用MyBatis进行数据库的增删改查操作。可以根据实际的需求,修改映射文件和Java代码。

猜你喜欢

转载自blog.csdn.net/kkwyting/article/details/133378537