入门级使用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’,”919920968@qq.com”);

1.2创建模块,添加依赖

  1. 配置pom.xml文件

<dependencies>
    <
dependency>
        <
groupId>org.mybatis</groupId>
        <
artifactId>mybatis</artifactId>
        <
version>3.5.7</version>
    </
dependency>
    <
dependency>
        <
groupId>com.dameng</groupId>
        <
artifactId>DmJdbcDriver18</artifactId>
        <
version>8.1.1.126</version>
        <
scope>system</scope>
        <
systemPath>${basedir}/src/lib/DmJdbcDriver18.jar</systemPath>
    </
dependency>
   
<!--        单元测试junit-->
   
<dependency>
        <
groupId>junit</groupId>
        <
artifactId>junit</artifactId>
        <
version>3.8.2</version>
        <
scope>test</scope>
    </
dependency>
   
<!--        日志文件-->
   
<dependency>
        <
groupId>log4j</groupId>
        <
artifactId>log4j</artifactId>
        <
version>1.2.12</version>
    </
dependency>

1.3编写MyBatis核心配置文件

  1. 核心配置文件即Mybatis-config.xml文件,其中包含了连接池的编写、以及sql映射文件的引用,具体demo显示如下:
<?xml version="1.0" encoding="UTF-8" ?>
  <!DOCTYPE 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>
  <!--    指定sql映射文件的路径-->
    <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" ?>
  <!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "https://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <!--namespace 名称空间-->
  <mapper namespace="test">
  <!--    resultType 返回数据类型-->
<!--    id 查询的唯一ID-->
    <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映射文件

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

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

1.6.2编写对应Mapper.xml文件

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

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

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测试

 

二、Maven

2.1加载maven

2.2查找依赖包

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

  • 可以根据全类名查找

https://search.maven.org

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

https://mvnrepository.com

  • 备用(界面简陋)

https://findjar.com/index.x

2.3添加依赖

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

2.4添加插件MavenHelper

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

 

三、常见问题

3.1Mybatis常见问题

3.1.1解决SQL警示

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

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

eco.dameng.com

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值