Mybatis开发步骤附代码

本文详细介绍如何使用MyBatis框架进行数据库操作,包括引入依赖、配置文件、实体类定义及Mapper映射文件编写等关键步骤,并通过具体示例演示查询功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. 引用相关jar包 mybatis和连接数据库的jar,目前使用的是mysql数据库
  2. 写配置文件,mybatis-cfg.xml, jdbc.properties
  3. 写实体类, 实体Mapper.xml配置文件

下面是Mybatis的工具类

public class MybatisUtils {
    public static SqlSession openSession() throws IOException{
        String resource = "mybatis-cfg.xml";
        InputStream inputStream = Resources.getResourceAsStream(resource);
        SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(inputStream, "user");//这里的user指的是mybatis-cfg.xml中的数据源配置中的数据源id,见下列代码
        return sessionFactory.openSession();
    }
}

从这个工具类build sessionFactory可以猜测出, 当配置文件被加载之后,SqlSessionFactoryBuilder会接收配置文件中的数据源信息, 根据配置的数据源id将数据源构建好供使用

//mybatis-cfg.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>
    <!-- 读取数据库连接信息 -->
    <properties resource="jdbc.properties"></properties>
    <environments default="development">
        <!-- 配置数据源 -->
        <environment id="user">
            <transactionManager type="JDBC" />
            <dataSource type="POOLED">
                <property name="driver" value="${jdbc.driver}"></property>
                <property name="url" value="${jdbc.url}"></property>
                <property name="username" value="${jdbc.username}"></property>
                <property name="password" value="${jdbc.password}"></property>
            </dataSource>
        </environment>
    </environments>
    <mappers>
        <mapper resource="com/zz/entity/UserMapper.xml"></mapper>
    </mappers>
</configuration>

然后写一个实体类

public class User {
    private int id;
    private String  userName;
    private int userAge;
    private String userAddress;
    public int getId() {
        return id;
    }
    public void setId(int id) {
        this.id = id;
    }
    public String getUserName() {
        return userName;
    }
    public void setUserName(String userName) {
        this.userName = userName;
    }
    public int getUserAge() {
        return userAge;
    }
    public void setUserAge(int userAge) {
        this.userAge = userAge;
    }
    public String getUserAddress() {
        return userAddress;
    }
    public void setUserAddress(String userAddress) {
        this.userAddress = userAddress;
    }

    @Override
    public String toString() {
        //  重写toString()方法
        return id + "|"+ userName + "|" + userAge + "|"+ userAddress;
    }
}

别忘记还有一个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.zz.entity">
    <select id="selectUserById" parameterType="int" resultType="com.zz.entity.User">
        select * from `user` where id = #{id}
    </select>

    <select id="selectAll"  resultType="com.zz.entity.User">
        select * from `user`
    </select>


</mapper>

最后就是准备测试了,写了两个测试用例

    @Test
    public void test() throws IOException {
        SqlSession session = MybatisUtils.openSession();
        String statement = "selectUserById";//UserMapper.xml中的id
        User user = session.selectOne(statement , 1);
        System.out.println(user.toString());
        session.close();
    }

    @Test
    public void testAll() throws IOException {
        SqlSession session = MybatisUtils.openSession();
        String statement = "selectAll";//UserMapper.xml中的id
        List<User> list = session.selectList(statement);
        System.out.println(list);
        session.close();
    }

这是全部代码,肯定可以成功,至于数据库表结构直接参造User实体类即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值