IDEA下MyBatis简单项目

IDEA下MyBatis简单项目

在这里插入图片描述

1、idea新建java project,建好包目录结构,导入jar包

新建lib文件夹(包),加入2个jar包文件(mybatis-3.5.3.jar,mysql-connector-java-8.0.15.jar),并在jar包上右键,选择Add as Library。可参考idea添加jar包2种方式

2、数据库建表

#登录 用户名root,密码123
#mysql -u root -p
#按提示输入密码123

create database mydb;

use mydb;

create table student(
  stuno int(10),
  stuname varchar(20),
  stuage int(10),
  graname varchar(20),
  primary key(stuno)
);

desc student;

insert into student(stuno,stuname,stuage,graname)
  values(1,'zs',18,'大一'),
        (2,'ls',19,'大二'),
        (3,'ww',20,'大四');

select * from student;

3、新建mybatis-config.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="db.properties"/>

    <!-- 为pojo起别名-->
    <typeAliases>
        <typeAlias type="com.nftc.mapper.StudentMapper" alias="student"/>
    </typeAliases>

    <!-- 指定数据库默认环境-->
    <environments default="development">

        <!--配置一个数据库环境-->
        <environment id="development">
            <transactionManager type="JDBC"/>
            <dataSource type="POOLED">
                <property name="driver" value="${mysql.driver}"/>
                <property name="url" value="${mysql.url}"/>
                <property name="username" value="${mysql.username}"/>
                <property name="password" value="${mysql.password}"/>
            </dataSource>
        </environment>

    </environments>


    <!-- 指定mapper.xml文件来源-->
    <mappers>
        <mapper resource="com/nftc/mapper/StudentMapper.xml"/>
    </mappers>


</configuration>

新建db.properties文件,提供参数给mybatis-config.xml

mysql.driver=com.mysql.cj.jdbc.Driver
mysql.url=jdbc:mysql://localhost:3306/mydb?serverTimezone=GMT%2B8
mysql.username=root
mysql.password=123

4、entity类(即pojo): Student.java

package com.nftc.entity;

public class Student {
    private Integer stuNo;
    private String stuName;
    private Integer stuAge;
    private String graName;

    public Student() {
    }

    public Student(Integer stuNo, String stuName, Integer stuAge, String graName) {
        this.stuNo = stuNo;
        this.stuName = stuName;
        this.stuAge = stuAge;
        this.graName = graName;
    }

    public Integer getStuNo() {
        return stuNo;
    }

    public void setStuNo(Integer stuNo) {
        this.stuNo = stuNo;
    }

    public String getStuName() {
        return stuName;
    }

    public void setStuName(String stuName) {
        this.stuName = stuName;
    }

    public Integer getStuAge() {
        return stuAge;
    }

    public void setStuAge(Integer stuAge) {
        this.stuAge = stuAge;
    }

    public String getGraName() {
        return graName;
    }

    public void setGraName(String graName) {
        this.graName = graName;
    }

    @Override
    public String toString() {
        return "Student{" +
                "stuNo=" + stuNo +
                ", stuName='" + stuName + '\'' +
                ", stuAge=" + stuAge +
                ", graName='" + graName + '\'' +
                '}';
    }
}

5、Mapper接口: StudentMapper.java

package com.nftc.mapper;

import com.nftc.entity.Student;

public interface StudentMapper {

    public Student getStudentByStuNO(Integer stuNo);

}

6、Mapper映射文件: StudentMapper.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.nftc.mapper.StudentMapper">

    <resultMap id="stuMap" type="com.nftc.entity.Student">
        <id property="stuNo" column="stuno"/>
        <result property="stuName" column="stuname"/>
        <result property="stuAge" column="stuage"/>
        <result property="graName" column="graname"/>
    </resultMap>

    <select id="getStudentByStuNO" parameterType="int" resultType="student"  resultMap="stuMap">
        select stuno ,stuname ,stuage ,graname
            from student
            where stuno=#{stuNo}
    </select>


</mapper>

7、测试: TestMybatis.java

package com.nftc.test;

import com.nftc.entity.Student;
import com.nftc.mapper.StudentMapper;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;

import java.io.IOException;
import java.io.InputStream;

public class TestMybatis {
    public static void main(String[] args) {

        String configFile = "mybatis-config.xml";
        InputStream input = null;
        try{
            input = Resources.getResourceAsStream(configFile);
        }catch (IOException e){
            e.printStackTrace();
        }

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

        StudentMapper studentMapper = sqlSession.getMapper(StudentMapper.class);
        Student student = studentMapper.getStudentByStuNO(1);
        System.out.println(student);



    }

}

控制台打印结果:

Student{stuNo=1, stuName='zs', stuAge=18, graName='大一'}

总结

Mybatis配置文件概览

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值