搭建简单的Mybatis框架

准备工作

1)打开我的eclipse,创建一个java项目。

2)解压下载好的mybatis.zip,找到里面的mybatis-x.x.x.jar,加入build path中

3)因为mybatis是ORM框架,所以少不了数据库,添加mysql驱动到build path

4)准备数据

CREATE DATABASE`test`;
USE `test`;
CREATE TABLE `classes` (
`cid` INT(10) NOT NULL AUTO_INCREMENT,
`cname` VARCHAR(20),
PRIMARY KEY (`cid`)
);
INSERT INTO `classes` VALUES (1001,'yc01'),(1002,'yc02');
CREATE TABLE `student` (
`sid` INT(10) NOT NULL AUTO_INCREMENT,
`sname` VARCHAR(20),
`age` INT(4),
`email` VARCHAR(50),
`tid` INT(10),
`cid` INT(10),
PRIMARY KEY (`sid`)
);
INSERT INTO `student` VALUES
(100001,'张三',17,'123@qq.com',1001,1001),
(100002,'李四',16,'456@qq.com',1001,1001),
(100003,'王五',17,'abc@qq.com',1002,1002);
CREATE TABLE `teacher` (
`tid` INT(10) NOT NULL AUTO_INCREMENT,
`tname` VARCHAR(20),
PRIMARY KEY (`tid`)
);
INSERT INTO `teacher` VALUES (1001,'李明'),(1002,'张丽');

这是目录结构

使用mybatis

核心配置文件配置,一个最基本的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>
    <!-- 工作环境,默认是开发者模式 -->
    <environments default="development">
        <!-- 配置工作环境为开发者模式,可配置多个 -->
        <environment id="development">
            <!-- 采用jdbc的事务管理 -->
            <transactionManager type="JDBC"/>
            <!-- 配置数据源 -->
            <dataSource type="POOLED">
                    <property name="driver" value="com.mysql.jdbc.Driver" />
                    <property name="url" value="jdbc:mysql://localhost:3306/mysql?useSSL=false" />
                    <property name="username" value="root" />
                    <property name="password" value="" />
            </dataSource>
        </environment>
    </environments>
    <!-- 注册sql映射文件 -->
    <mappers>
    <mapper resource="com/myl/dao/StudentMapper.xml"/>
    </mappers>
</configuration>

注意事项:(我在创建时报的错)

这里是configuration不是mapper如果是的,会报错

如果报MYSQL:WARN: Establishing SSL connection without server's identity verification is not recommended....的错误则加上useSSL=false即可解决

 

pojo 模型创建

package com.myl.pojo;

import java.io.Serializable;

public class Student implements Serializable{
    private static final long serialVersionUID = -6237347458729826384L;
    private Integer sid;
    private String sname;
    private Integer age;
    private String email;
    private Integer tid;
    private Integer cid;
    
    public Student(Integer sid, String sname, Integer age, String email, Integer tid, Integer cid) {
        super();
        this.sid = sid;
        this.sname = sname;
        this.age = age;
        this.email = email;
        this.tid = tid;
        this.cid = cid;
    }

    public Student() {
        super();
    }

    public Integer getSid() {
        return sid;
    }

    public void setSid(Integer sid) {
        this.sid = sid;
    }

    public String getSname() {
        return sname;
    }

    public void setSname(String sname) {
        this.sname = sname;
    }

    public Integer getAge() {
        return age;
    }

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

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public Integer getTid() {
        return tid;
    }

    public void setTid(Integer tid) {
        this.tid = tid;
    }

    public Integer getCid() {
        return cid;
    }

    public void setCid(Integer cid) {
        this.cid = cid;
    }

    @Override
    public String toString() {
        return "Student [sid=" + sid + ", sname=" + sname + ", age=" + age + ", email=" + email + ", tid=" + tid
                + ", cid=" + cid + "]";
    }    
}
 sql 映射文件配置com/yc/dao/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.myl.StudentMapper">
    <select id="selectStudentById" resultType="com.myl.pojo.Student">
        select * from student where sid=#{sid}
    </select>
</mapper>

测试代码

package com.myl.demo;

import java.io.IOException;

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 com.myl.pojo.Student;

public class Demo {
public static void main(String[] args) {
    try {
        //创建sqlSessionFactory会话工厂
        SqlSessionFactory factory=new SqlSessionFactoryBuilder()
                .build(Resources.getResourceAsStream("mybatis-config.xml"));
        //获取sqlSession与数据库交互的会话对象
        SqlSession session=factory.openSession();
        
        //查询数据
        Student student=session.selectOne("com.myl.StudentMapper.selectStudentById",100001);
        System.out.println(student);
        //提交事务
        session.commit();
        
        //关闭会话
        session.close();
    } catch (IOException e) {
        e.printStackTrace();
    }
    
}
}
 

 

 

 

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值