1、第一个mybatis程序

本文介绍如何使用MyBatis框架实现Java应用与数据库交互。包括搭建环境、创建实体类、DAO接口及其实现、配置文件解析等关键步骤。

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

1	Mybatis是java中的ORM开发框架
1.1	ORM框架是一种以面向对象的方式操作数据库的框架
1.2	Mybatis将sql的查询结果自动映射成java对象
1.3	Mybatis将映射过程简化到一个简单的xml配置文件中

2	使用intellij idea创建基于maven的项目com.demo.firstMybatis

3	Pom.xml添加依赖
<!--mybatis依赖-->
<dependency>
    <groupId>org.mybatis</groupId>
    <artifactId>mybatis</artifactId>
    <version>3.4.0</version>
</dependency>
<!--mysql依赖-->
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>5.1.34</version>
</dependency>

4	Mysql数据库创建表question并插入数据
create TABLE question(
    id int,
    createdTime datetime,
    description text,
    title varchar(250)
)
insert into question(id, createdtime, description, title)
VALUES(1, '2017-12-12', '我是谁', '第一个问题')

5	创建数据库对象层(model层),/src/main/java/demo/firstMybatis/model下创建Question对象
public class Question implements Serializable {

    private static final long serialVersionUID = -4293062974397675105L;
    private Long id;
    private String title;
    private String description;
    private Date createdTime;
    private List<Tag> tags;
    private List<Answer> answers;

    public String getTitle(){
        return this.title;
    }
    public String getDescription(){
        return this.description;
    }
}

6	创建数据访问层(接口方式,dao层),/src/main/java/demo/firstMybatis/dao/下创建IQuestionDao接口类
//question对象的数据操作层接口类
public interface IQuestionDao {

    //findOne,接口内的具体方法
    Question findOne(@Param("id") Long id);
}

7	实现数据访问层(通过xml文件映射方式实现),/src/main/resources/mapper/下创建IQuestionDao.xml文件(7/8的文件名必须要一模一样)
<!--
    demo.firstMybatis.dao.IQuestionDao接口的实现
    通过xml映射方式实现
-->
<mapper namespace="demo.firstMybatis.dao.IQuestionDao">
    <cache />

    <!--
        select:查询映射
        id:方法名
        resultType:返回的数据类型
        #{id}:接口方法中定义的参数
    -->
    <select id="findOne" resultType="demo.firstMybatis.model.Question">
        SELECT * FROM question WHERE question.id = #{id}
    </select>
</mapper>

8	配置mybatis,/src/main/java/resources/下创建mybatis.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>
        <!--配置mysql数据库的连接字符串-->
        <property name="url" value="jdbc:mysql://192.168.10.164:3306/springdb?user=root&password=123bnsy$" />
    </properties>

    <!--配置mybatis环境-->
    <environments default="development">
        <environment id="development">
            <transactionManager type="JDBC"/>
            <dataSource type="POOLED">
                <property name="driver" value="com.mysql.jdbc.Driver"/>
                <property name="url" value="${url}"/>
            </dataSource>
        </environment>
    </environments>

    <!--配置mapper映射,程序会在此配置中查找映射的xml-->
    <mappers>
        <mapper resource="mapper/IQuestionDao.xml"/>
    </mappers>
</configuration>

9	编写测试类
public class Application {

    public static void main(String[] args) {
        // 准备工作
        InputStream inputStream = null;
        try {
            // CONFIG_LOCATION的值即为MyBatis配置文件的路径
            inputStream = Resources.getResourceAsStream("mybatis.xml");
        } catch (IOException e) {
            e.printStackTrace();
        }

        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
        SqlSession sqlSession = sqlSessionFactory.openSession();

        try {
            // 获取mapper
            IQuestionDao questionMapper = sqlSession.getMapper(IQuestionDao.class);
            // 调用mapper方法
            Question question = questionMapper.findOne((long) 1);
            System.out.println(question.getTitle()+"----"+question.getDescription());
        } finally {
            // 最后一定关闭SqlSession
            sqlSession.close();
        }
    }
}

10	右键main,执行,输出结果

11	至此,第一个mybatis程序完成,可以发现
11.1	创建maven项目
11.2	配置pom.xml依赖
11.3	创建表对应的model类
11.4	创建数据访问接口dao类
11.5	创建dao类的实现xml
11.6	创建mybatis的配置文件,并配置mybatis的环境和要映射的xml文件
11.7	创建测试类,测试类进行以下操作
	读取mybatis.xml配置文件创建sqlsession工厂
	通过sqlsession工厂创建sqlsession对象
	Sqlsession对象通过dao类名查找dao接口的映射实现
	通过dao接口来调用数据库操作方法


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值