入门级使用Mybatis进行DM数据库开发[IDEA]版本

目录

一、Mybatis

1.1创建User表,添加数据

1.2创建模块,添加依赖

1.3编写MyBatis核心配置文件

1.4编写SQL映射文件

1.5编码

1.5.1定义POJO类

1.5.2加载核心配置文件,获取SqlSessionFactory对象

1.6Mapper代理开发

1.6.1自定义Mapper接口

1.6.2编写对应Mapper.xml文件

1.6.3Mapper调用

1.7demo测试

二、Maven

2.1加载maven

2.2查找依赖包

2.3添加依赖

2.4添加插件MavenHelper

三、常见问题

3.1Mybatis常见问题

3.1.1解决SQL警示


一、Mybatis

1.1创建User表,添加数据

create table "TEST"."user"

(

    "id" INT not null ,

    "name" VARCHAR2(50),

    "email" VARCHAR2(50),

    primary key("id")

)

storage(initial 1, next 1, minextents 1, fillfactor 0)

;

Insert into TEST.”user” values (1,’tyr’,”[email protected]”);

1.2创建模块,添加依赖

  1. 配置pom.xml文件

<dependencies>
    <
dependency>
        <
groupId>org.mybatisgroupId>
        <
artifactId>mybatisartifactId>
        <
version>3.5.7version>
    dependency>
    <
dependency>
        <
groupId>com.damenggroupId>
        <
artifactId>DmJdbcDriver18artifactId>
        <
version>8.1.1.126version>
        <
scope>systemscope>
        <
systemPath>${basedir}/src/lib/DmJdbcDriver18.jarsystemPath>
    dependency>
   

   
<dependency>
        <
groupId>junitgroupId>
        <
artifactId>junitartifactId>
        <
version>3.8.2version>
        <
scope>testscope>
    dependency>
   

   
<dependency>
        <
groupId>log4jgroupId>
        <
artifactId>log4jartifactId>
        <
version>1.2.12version>
    dependency>

1.3编写MyBatis核心配置文件

  1. 核心配置文件即Mybatis-config.xml文件,其中包含了连接池的编写、以及sql映射文件的引用,具体demo显示如下:
xml version="1.0" encoding="UTF-8" ?>
  configuration
        PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
        "https://mybatis.org/dtd/mybatis-3-config.dtd">
  <configuration>
    <environments default="development">
        <environment id="development">
            <transactionManager type="JDBC"/>
            <dataSource type="POOLED">
                    
                <property name="driver" value="dm.jdbc.driver.DmDriver"/>
                <property name="url" value="jdbc:dm://127.0.0.1:5236"/>
                <property name="username" value="TEST"/>
                <property name="password" value="TEST123456"/>
            dataSource>
        environment>
    environments>
  
    <mappers>
        <mapper resource="UserMapper.xml"/>
    mappers>
configuration>

1.4编写SQL映射文件

  1. 编写SQL文件,配置namespace,以及对应的sql,其中:

id 对应该namespace下独特的SqlId,后续在sql会话工厂中调用。

xml version="1.0" encoding="UTF-8" ?>
  mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "https://mybatis.org/dtd/mybatis-3-mapper.dtd">
 
  <mapper namespace="test">
  

    <select id="selectAll" resultType="com.tyrtest.pojo.User">
  
        select * from TEST."user"
    select>
mapper>

1.5编码

1.5.1定义POJO类

  1. 概念:实体抽象类可以看作数据库中一个表的抽象实现,其中该类的私有属性作为表的字段,具体demo展示如下:

package com.tyrtest.pojo;
/*表的对应属性类,表的抽象类,封装表,编写时只需要额外添加getter and settet ,toString() 即可
        */

public class User{
       
private Integer id    ;
       
private String  name  ;
      
private String  email ;

       
public User(Integer id, String name, String email) {
               
this.id = id;
               
this.name = name;
               
this.email = email;
        }

       
public Integer getId() {
               
return id;
        }

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

       
public String getName() {
               
return name;
        }

       
public void setName(String name) {
               
this.name = name;
        }

       
public String getEmail() {
               
return email;
        }

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

       
@Override
       
public String toString() {
               
return "User{" +
                       
"id=" + id +
                       
", name='" + name + '\'' +
                       
", email='" + email + '\'' +
                       
'}';
        }
}

1.5.2加载核心配置文件,获取SqlSessionFactory对象

  1. 释放SqlSession对象,执行sql
  2. 释放资源
  3. 创建主体类方法,进行代码测试
import com.tyrtest.pojo.User;
  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;
  import java.util.List;
  public class MyBatisDemo {

    public static void main(String[] args) throws IOException {
  //        1.加载核心配置文件,获取SqlSession
        String resource = "mybatis-config.xml";
  //        2.获取字符串字节流
        InputStream inputStream = Resources.getResourceAsStream(resource);
  //        3.创建sql会话工厂,传入已构建字节流对象
        SqlSessionFactory sqlSessionFactory = new         SqlSessionFactoryBuilder().build(inputStream);
  //      4.打开sql会话,获取SqlSession对象,用于执行sql
        SqlSession sqlSession = sqlSessionFactory.openSession();
  //        5.选用sql并收集数据
        List<User> users = sqlSession.selectList("test.selectAll");
        System.out.printf(String.valueOf(users));
  //        6.释放资源
        sqlSession.close();
    }
}

1.6Mapper代理开发

1.6.1自定义Mapper接口

  1. 定义SQL映射文件同名的Mapper接口,将Mapper接口和映射文件放在同一目录下

创建对应Mapper接口文件,该接口文件针对SQL映射文件

入门级使用Mybatis进行DM数据库开发[IDEA]版本_第1张图片

将对应目录创建到resource环境中

入门级使用Mybatis进行DM数据库开发[IDEA]版本_第2张图片

使用maven进行检测,切记要在resource下建立和该Mapper接口同名的目录,然后再使用Maven进行解析,这样你的接口就可以正常的被使用了。

入门级使用Mybatis进行DM数据库开发[IDEA]版本_第3张图片

1.6.2编写对应Mapper.xml文件

  • 设置SQL映射文件的NameSpace和对应SQL的唯一id

将SQL映射文件的命名空间更改为对应的接口类,以便标识

入门级使用Mybatis进行DM数据库开发[IDEA]版本_第4张图片

1.6.3Mapper调用

  • Mapper接口中定义方法,方法名为SQL的id,并保证SQL返回的数据类型一致

调用User类中的 selectAll() 方法,并调整返回结果与查询所需要的类型一致

package com.tyrtest.Mapper;
  import com.tyrtest.pojo.User;
  import java.util.List;
  public interface UserMapper {
    List<User> selectAll();
}

  • 按照如下方法进行编码
//      4.打开sql会话,获取SqlSession对象,用于执行sql

        SqlSession sqlSession = sqlSessionFactory.openSession();

        UserMapper mapper = sqlSession.getMapper(UserMapper.class);

  //        5.选用sql并收集数据

        List<User> users = mapper.selectAll();

1.7demo测试

入门级使用Mybatis进行DM数据库开发[IDEA]版本_第5张图片

 

二、Maven

2.1加载maven

入门级使用Mybatis进行DM数据库开发[IDEA]版本_第6张图片

2.2查找依赖包

Maven的依赖包建议到官方查找:

  • 可以根据全类名查找

https://search.maven.org

  • (Maven官网)种类齐全,支持关键字检索

https://mvnrepository.com

  • 备用(界面简陋)

https://findjar.com/index.x

2.3添加依赖

在pom.xml文件中可以添加依赖包

入门级使用Mybatis进行DM数据库开发[IDEA]版本_第7张图片

2.4添加插件MavenHelper

如果你的Maven无法使用编译compile功能,那么看一看这里

入门级使用Mybatis进行DM数据库开发[IDEA]版本_第8张图片

 入门级使用Mybatis进行DM数据库开发[IDEA]版本_第9张图片

三、常见问题

3.1Mybatis常见问题

3.1.1解决SQL警示

#正常来讲,IDEA已经正常连接过数据库以后,是可以直接提示sql语句的,因此在此尝试使用IDEA连接您的数据库即可

入门级使用Mybatis进行DM数据库开发[IDEA]版本_第10张图片

更多的和达梦数据库有关的技巧请前往达梦技术社区:

eco.dameng.com

你可能感兴趣的:(mybatis,java,spring)