MyBatis连接数据实例

本文详细介绍使用MyBatis框架连接Oracle数据库的过程,包括配置文件设置、实体类定义、Mapper文件编写及测试类实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

MyBatis连接数据实例

本文介绍一个使用MyBatis连接oracle数据库的实例:

  • 1、首先创建MyBatis-Config.xml文件
  • 2、创建实体类+(Mapper.xml文件或接口加注解形式)
  • 3、创建实体类的Mapper.xml文件
  • 4、将Mapper信息注册到Mabatis配置文件中(MyBatis-Config.xml)
  • 5、创建测试类

工程目录结构
数据库测试表:
create table USERINFO
(
ID VARCHAR2(20),
PASSWORD VARCHAR2(10),
NAME VARCHAR2(10)
)

1、首先创建MyBatis-Config.xml文件

文件中可以:
(1)配置类型别名,使用标记typeAlias,使用一个简单的别名来代替一个冗长的类型。
(2)配置数据库连接信息
(3)注册实体类的mapper

代码块

<?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>

<typeAliases>
    <typeAlias type="domain.User" alias="User"/>
</typeAliases>

  <environments default="development">
    <environment id="development">
      <transactionManager type="JDBC"/>
      <dataSource type="POOLED">
        <property name="driver" value="oracle.jdbc.driver.OracleDriver"/>
        <property name="url" value="jdbc:oracle:thin:@192.168.100.108:1521:orcl"/>
        <property name="username" value="AAA"/>
        <property name="password" value="123"/>
      </dataSource>
    </environment>
  </environments>

<mappers>
     <mapper resource="domain/UserMapper.xml"/>
</mappers>

</configuration>

2、创建实体类+(Mapper.xml文件或接口加注解形式)

代码块

package domain;

public class User {
    private int id;
    private String password;
    private String name;

    public int getId() {
        return id;
    }
    public void setId(int id) {
        this.id = id;
    }
    public String getPassword() {
        return password;
    }
    public void setPassword(String password) {
        this.password = password;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    @Override
    public String toString() {
        return "User [id=" + id + ", name=" + name + ", password=" + password
                + "]";
    }
}

3、创建实体类的Mapper.xml文件

文件中:
(1)写入sql语句
(2)返回类型可用resultMap,添加resultMap标签
(3)也可使用resultType

代码块

<?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="domain.UserMapper">  
    <resultMap type="domain.User" id="UserResult">    
         <id column="id" property="id"/>    
         <result column="password" property="password"/>    
         <result column="name" property="name"/>    
    </resultMap>

    <select id="selectUser" parameterType="int" resultType="User">    
      select * from USERINFO where id = #{id}    
    </select>

</mapper>

4、将Mapper信息注册到Mabatis配置文件中(MyBatis-Config.xml)

5、创建测试类

(1)获取sqlSessionFactory对象;
(2)获取sqlSession对象;

代码块

package domain;

import java.io.InputStream;

import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;

public class App {
    static SqlSessionFactory sqlSessionFactory = null;

    static{
        try {
            String resource = "mybatis-config.xml";
            InputStream inputStream = Resources.getResourceAsStream(resource);
            sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream); 

        } catch (Exception e) {
            // TODO: handle exception
            System.out.println(e.getMessage());
        }

    }

    public static void main(String[] args) {
        if (sqlSessionFactory == null) {
            System.out.println("错误!");
            return;
        }
        SqlSession session = sqlSessionFactory.openSession();
        User user = session.selectOne("domain.UserMapper.selectUser", 1);
        session.close();
        System.out.println(user);   
    }
}

测试结果:User [id=1, name=小康, password=123456]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值