java-frame01:持久层框架mybatis初步了解

MyBatis是一个支持普通SQL查询,存储过程和高级映射的优秀持久层框架。MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索封装。MyBatis可以使用简单的XML或注解用于配置和原始映射,将接口和Java的POJO(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录。

1、创建测试项目:(也可以是web项目)

2、依赖(添加)相应的jar包:

3、创建数据库和表:

1、创建数据库
create database ku2;
2、使用该数据库
use ku2;
3、在该库中创建数据表
create table student(id int primary key,name varchar(20),age int)
4、向表中插入一条数据
insert into student(id,name,age)values(1,'kongcheng',21)
至此数据库部分操作完毕

4、添加mybatis的配置文件

5、定义表所对应的实体类

package com.xawl.webMb.bean;

public class Student {
    private int id;
    private int age;
    private String name;
    public Integer getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
       
    //注意要有toString方法
    @Override
    public String toString() {
        return "Student{" +
                "id=" + id +
                ", name='" + name + '\'' +
                ", age=" + age +

                '}';
    }
}

6、定义操作student表的映射文件student.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,namespace的值习惯上设置成包名+sql映射文件名,这样就能够保证namespace的值是唯一的 4 例如namespace="com.xawl.webMb.dao.student"就是com.xawl.webMb.dao包名)+student(student.xml文件去除后缀) -->

<!-- 在select标签中编写查询的SQL语句, 设置select标签的id属性为getStudent,id属性值必须是唯一的,不能够重复 使用parameterType属性指明查询时使用的参数类型,resultType属性指明查询返回的结果集类型  resultType="Student"就表示将查询结果封装成一个Student类的对象返回  Student类就是student表所对应的实体类  --> <!-- 根据id查询得到一个student对象  -->

<mapper namespace="com.xawl.webMb.dao.student">
    <select id="getStudent" parameterType="int" resultType="com.xawl.webMb.bean.Student">
        SELECT * FROM student WHERE id=#{id}
    </select>
</mapper>

7、在mybatis配置文件中配置student.xml

8、编写测试类进行测试

package mybatis;

import com.xawl.webMb.bean.Student;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;

import java.io.InputStream;

public class MybatisTest {
    public static void main(String[] args) {
        //mybatis的配置文件
        String resourese = "mybatis.xml";
        //使用类加载器加载mybatis的配置文件
        InputStream inputStream = MybatisTest.class.getClassLoader().
                getResourceAsStream(resourese);
        //获取session对象
        //通过SqlSessionFactoryBuilder()获取SqlSessionFactory
        SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
        //通过SqlSessionFactory获取SqlSession
        SqlSession sqlSession = sessionFactory.openSession();
        /*
         * 映射sql的标识字符串, com.xawl.webMb.dao.student是student.xml文件中mapper标签的namespace属性的值,
         * * getStudent是select标签的id属性值,通过select标签的id属性值就可以找到要执行的SQL
         * */
        String s = "com.xawl.webMb.dao.student.getStudent";
        //返回一个Student类型
        Student stu = sqlSession.selectOne(s, 1);
        //打印到控制台
        System.out.println(stu);
    }
}

9、输出结果如下:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值