Mybatis入门操作示例

Mybatis入门操作示例

实现步骤:

1、新建一个数据库表(student表)

2、创建maven工程,加入依赖

加入mybatis依赖坐标,加入mysql驱动坐标

<dependency>
    <groupId>org.mybatis</groupId>
    <artifactId>mybatis</artifactId>
    <version>3.5.1</version>
</dependency>

<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>5.1.9</version>
</dependency>

3、创建实体类

Student(用于保存表中的一行数据)

//建议类名和数据库表名一致
public class Student{
    //属性名要和字段名一致
    private int id;
    private String name;
    private int age;
    
    //Getter and Setter...
}

4、创建持久层

创建dao接口,定义操作数据库的方法

public interface StudentDao{
    
    public List<Student> findAll();
}

5、创建mybatis使用的配置文件

​ 即sql映射文件:用于写sql语句,一张表一个sql映射文件,映射文件最好放在resource下,如果在src中则需要添加mybatis的扫描路径

​ 文件类型:xml

<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.zyj.demo.dao.StudentDao">
    <select id="findAll" resultType="Student">
    	select * from student
    </select>
    
</mapper>


<!--注意:
"http://mybatis.org/dtd/mybatis-3-mapper.dtd"是约束文件

namespace是名称空间,要求使用dao接口的全限定名称

select标签表示查询语句,标签内部写查询的sql语句
id是接口方法名称,在调用接口findAll方法时会执行select标签中的sql语句
resultType是sql语句执行后得到的ResultSet,遍历这个ResultSet得到的Java对象类型,使用java实体类对象的全限定名称
-->

6、创建mybatis主配置文件

​ 该文件中包含数据库链接信息和sql映射文件的路径

<?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>
    <environments default="development">
        <environment id="development">
            <!--
    			transactionManager表示mybatis事务类型
				type:JDBC表示使用jdbc的事务处理
    		-->
            <transactionManager type="JDBC"/>
            <!--表示数据源,type表示使用连接池进行链接-->
            <dataSource type="POOLED">
                <!--数据库链接的相关信息-->
                <property name="driver" value="com.mysql.jdbc.Driver"/>
                <property name="url" value="jdbc:mysql://localhost:3306/dbName"/>
                <property name="username" value="root"/>
                <property name="password" value="123456"/>
            </dataSource>
        </environment>
    </environments>
    
    <!-- 指定maper文件的路径(maven项目从resources源文件夹下找资源)-->
    <mappers>
        <!--一个mapper标签指定一个映射文件位置-->
        <mapper resource="包名/mapper文件名"/>
    </mappers>
</configuration>

7、编写测试类

public class Test{
    public static void main(String[] args){
        //定义mybatis主配置文件的路径字符串,该路径是从类路径开始的
        String path = "mybatis.xml";
        //读取文件
        InputStream in = Resources.getResourcesAsStream(path);
        //创建sqlSessionFactoryBuilder对象
        SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();
        //创建sqlSessionFactory对象
        SqlSessionFactory factory = builder.build(in);
        //获取SqlSession对象
        SqlSession sqlSession = factory.openSession();
        //指定要执行的sql语句的标识,即sql映射文件中的namespace+"."+id标签的值
        String sql = "com.zyj.demo.dao.StudentDao.findAll";
        //执行sql
        List<Student> list = sqlSession.selectList(sqlId);
        //输出结果
        ...
        //关闭SqlSession对象
        sqlSession.close();
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值