首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >MyBatis.1入门篇

MyBatis.1入门篇

作者头像
张哥编程
发布2024-12-17 13:00:38
发布2024-12-17 13:00:38
1570
举报
文章被收录于专栏:云计算linux云计算linux

一:简介

MyBatis是一个优秀的持久层框架,它对jdbc的操作​​数据库​​​的过程进行封装,使开发者只需要关注 SQL 本身,而不需要花费精力去处理例如注册驱动、创建connection、创建statement、手动设置参数、结果集检索等jdbc繁杂的过程代码。Mybatis通过xml或注解的方式将要执行的各种statement(statement、preparedStatemnt、CallableStatement)配置起来,并通过​​Java​​对象和statement中的sql进行映射生成最终执行的sql语句,最后由mybatis框架执行sql并将结果映射成java对象并返回。

二:原理

MyBatis.1入门篇_sql
MyBatis.1入门篇_sql

三:环境搭建

1:开发jar包:

MyBatis.1入门篇_持久层框架_02
MyBatis.1入门篇_持久层框架_02

2.因为用到了sql数据库,所以导入sql jbr包

3.配置文件mybatisConfig.xml

代码语言:javascript
复制
<?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"/>
    <environments default="development">  
        <environment id="development">  
            <transactionManager type="JDBC" />  
            <dataSource type="POOLED"> 
            <property name="driver" value="${driver}"/>
            <property name="url" value="${url}"/>
            <property name="username" value="${username}"/>
            <property name="password" value="${password}"/>
            </dataSource>  
        </environment> 
        </environments>  
    <mappers>  
        <mapper resource="org/mybatis/example/dao/DeptMapper.xml"/>  
    </mappers>  
</configuration>

因为采用的是外部文件 方式,所以,需要建立db.properties文件,文件内容如下:

代码语言:javascript
复制
driver=com.microsoft.sqlserver.jdbc.SQLServerDriver
url=jdbc:sqlserver://localhost:1433;DatabaseName=mydb
username=sa
password=1

4.Dept实体类

代码语言:javascript
复制
package org.mybatis.example.dao;

public class Dept {
  private int deptno;
  private String dname;
  private String ioc;

  public Dept() {
  }

  public int getDeptno() {
    return deptno;
  }

  public void setDeptno(int deptno) {
    this.deptno = deptno;
  }

  public String getDname() {
    return dname;
  }

  public void setDname(String dname) {
    this.dname = dname;
  }

  public String getIoc() {
    return ioc;
  }

  public void setIoc(String ioc) {
    this.ioc = ioc;
  }

}

5.创建Dept的映射文件DeptMapper.xml

代码语言:javascript
复制
<?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="org.mybatis.example.dao.DeptMapper">
  <select id="selectOne" parameterType="int"
    resultType="org.mybatis.example.dao.Dept">
      select * from dept where deptno=#{id}
  </select> 
</mapper>

6.测试类Test.java

代码语言:javascript
复制
public class Test {
  public static void main(String[] args) throws IOException {
    String resource="mybatisConfig.xml";
    Reader reader=Resources.getResourceAsReader(resource);
    SqlSessionFactory sqlMapper=new SqlSessionFactoryBuilder().build(reader);

    SqlSession session=sqlMapper.openSession();

    try {
      Dept dept=session.selectOne("org.mybatis.example.dao.DeptMapper.selectOne",2);
      System.out.println(dept.getDname());
    } catch (Exception e) {
      e.printStackTrace();
    }finally{
      session.close();
    }

  }
}

总体文件结构

MyBatis.1入门篇_spring+mybatis_03
MyBatis.1入门篇_spring+mybatis_03
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-03-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档