沃梦达 / IT编程 / 数据库 / 正文

使用mybatis框架连接mysql数据库的超详细步骤

使用MyBatis框架连接MySQL数据库的详细步骤如下:

使用MyBatis框架连接MySQL数据库的详细步骤如下:

1. 环境准备

首先需要安装MySQL数据库和MyBatis框架,以及相关的依赖包。假设已经安装完成,接下来的步骤将依次进行。

2. 创建数据库和表

创建数据库和表的步骤不在本次的讲解范围内,我们假设已经创建好了名为mybatis_test的数据库和名为user_info的表,并且该表中包含id、name和age三个字段。

3. 配置数据库连接信息

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/mybatis_test"/>
        <property name="username" value="root"/>
        <property name="password" value="123456"/>
      </dataSource>
    </environment>
  </environments>
</configuration>

在以上的配置中,<dataSource>标签指定了数据库连接的相关信息,包括数据库驱动、连接地址、用户名和密码等信息。在这里可以替换成自己的数据库相关信息。

4. 创建实体类

创建用于映射数据库中表的实体类,在这里我们以用户信息表为例,创建一个名为User的实体类,其中包含idnameage三个属性。

public class User {
    private Long id;
    private String name;
    private Integer age;
    // 省略getter和setter
}

5. 创建Mapper接口

创建Mapper接口,用于定义数据访问方法。在这里我们创建一个名为UserMapper的接口,其中包含对用户信息表的增删改查操作。

public interface UserMapper {
    void addUser(User user);
    void deleteUserById(Long id);
    void updateUser(User user);
    User getUserById(Long id);
    List<User> getAllUsers();
}

6. 创建Mapper映射文件

创建Mapper映射文件,用于定义SQL语句和映射规则。在这里我们创建名为UserMapper.xml的映射文件,定义SQL语句和映射规则。

<mapper namespace="com.example.mapper.UserMapper">
    <resultMap id="userMap" type="com.example.entity.User">
        <id property="id" column="id"/>
        <result property="name" column="name"/>
        <result property="age" column="age"/>
    </resultMap>

    <insert id="addUser" parameterType="com.example.entity.User">
        INSERT INTO user_info (name, age) VALUES (#{name}, #{age})
    </insert>

    <delete id="deleteUserById" parameterType="java.lang.Long">
        DELETE FROM user_info WHERE id=#{id}
    </delete>

    <update id="updateUser" parameterType="com.example.entity.User">
        UPDATE user_info SET name=#{name}, age=#{age} WHERE id=#{id}
    </update>

    <select id="getUserById" resultMap="userMap" parameterType="java.lang.Long">
        SELECT id, name, age FROM user_info WHERE id=#{id}
    </select>

    <select id="getAllUsers" resultMap="userMap">
        SELECT id, name, age FROM user_info
    </select>
</mapper>

在以上的Mapper映射文件中,<resultMap>标签定义了映射规则,<insert><delete><update><select>标签则分别定义了对应的SQL语句,并指向了对应的映射规则和参数类型等信息。

7. 测试代码示例

在完成以上步骤后,我们可以通过Java代码来测试MyBatis框架连接MySQL数据库是否正常。这里给出两个测试代码示例。

示例一

public class Test1 {
    public static void main(String[] args) throws IOException {
        InputStream inputStream = Resources.getResourceAsStream("mybatis-config.xml");
        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
        SqlSession sqlSession = sqlSessionFactory.openSession();
        UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
        User user = new User();
        user.setName("Tom");
        user.setAge(20);
        userMapper.addUser(user);
        sqlSession.commit();
        sqlSession.close();
    }
}

以上测试代码示例中,我们通过获取SqlSessionFactorySqlSession对象,创建UserMapper对象,并调用UserMapper中的addUser()方法向用户信息表中插入一条记录,插入成功后通过commit()方法提交事务,之后关闭SqlSession对象。

示例二

public class Test2 {
    public static void main(String[] args) throws IOException {
        InputStream inputStream = Resources.getResourceAsStream("mybatis-config.xml");
        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
        SqlSession sqlSession = sqlSessionFactory.openSession();
        UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
        User user = userMapper.getUserById(1L);
        System.out.println(user);
        List<User> userList = userMapper.getAllUsers();
        System.out.println(userList);
        sqlSession.close();
    }
}

以上测试代码示例中,我们通过获取SqlSessionFactorySqlSession对象,创建UserMapper对象,并调用UserMapper中的getUserById()方法和getAllUsers()方法分别查询id为1的用户和所有用户。查询完成后,关闭SqlSession对象。

注:以上两个示例中需要根据创建的实体类和Mapper接口进行调用,代码仅提供示例,具体调用还需要根据实际情况进行修改。

本文标题为:使用mybatis框架连接mysql数据库的超详细步骤