谈谈今天第一次使用Mybatis访问MySql数据库的过程

时间:2022-01-26 07:23:23

因为工作所需,今天中午和下午自学了mybatis,刚刚完成一个使用mybatis插入数据到mysql的过程就迫不及待得想把经验分享给大家,下面就把过程给大家展示一下:


1. 首先我在eclipse上新建了一个java工程,取名为FirstMyBatis


2. 然后在工程下新建了一个lib文件夹,把mybatis的jar包和连接mysql的jar包放进去,我这里的mybatis的版本是3.3.0

连接mysql的包是mysql-connector-java-5.1.13-bin.jar

再将两个包添到工程里,这个不难把,先选中两个包,点击右键-->Build Path -->add就可以了


3. 之后就是正文了,先说明我这里的数据库是mysql5.7 然后我在数据库里建了custom这个表

图示如下:

谈谈今天第一次使用Mybatis访问MySql数据库的过程

4. 然后再在项目里新建一个Custom的类
<span style="font-size:18px;">package com.xhy;
public class Custom {

private Long id;

private String customName;

private String customCode;

private String state;


public Long getId() {
return id;
}

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

public String getState() {
return state;
}

public void setState(String state) {
this.state = state;
}

public String getCustomName() {
return customName;
}

public void setCustomName(String customName) {
this.customName = customName;
}

public String getCustomCode() {
return customCode;
}

public void setCustomCode(String customCode) {
this.customCode = customCode;
}



@Override
public String toString() {
return "CustomDto [id=" + id + ", customName=" + customName + ", customCode=" + customCode + ", state=" + state
+ "]";
}
</span>

5. 接下来就是配置xml文件了
先在src文件下面新建一个XML文件,我这里取名为mybatis-config.xml
里面定义了连接数据库的语句
下面是具体内容
<span style="font-size:18px;"><?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/ccv80ch"/>
<property name="username" value="root"/>
<property name="password" value="ROOT"/>

</dataSource>



</environment>

</environments>
<mappers>
<mapper resource="mapper/CustomMapper.xml"></mapper>
</mappers>
</configuration></span>

6.然后就是在src下面新建一个Folder(文件夹),我这里取名为mapper,用于存放定义具体的数据库操作语句的xml文件,我这里取名为CustomMapper.xml。上面的xml文件里注册了这个文件的位置,就在<mappers>属性里
下面是具体xml文件里的内容:
<span style="font-size:18px;"><?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.mapper.CustomMapper">

<!-- useGeneratedKeys="true" 表明使用数据库自动生成的主键,
keyColumn="id" 指定Custom表中的主键列,keyProperty="id",
表明当插入记录后,会把数据库生成的主键值设置到Custom对象的id属性中,
也就是说,它指定与Custom表中的主键列对应的Custom实体类中的属性是id这个属性
-->
<insert id="add" useGeneratedKeys="true"
keyColumn="id" keyProperty="id"
parameterType="com.xhy.Custom">

insert into custom(CUSTOM_NAME,CUSTOM_CODE,STATE)
values(#{customName},#{customCode},#{state})

</insert>

</mapper>
</span>

里面我只写了插入语句,其他的语句都可以用这种模板来写,比如在<mapper>新值属性<delete>标签再写删除操作等

7.最后一步就是写程序的入口程序了,我新建了一个test类,具体程序如下:
package demo;

import java.io.IOException;
import java.io.Reader;

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.xhy.Custom;

public class test {

private static SqlSessionFactory factory=null;

static
{
String resource = "mybatis-config.xml";
try {
//读取主配置文件
Reader reader
= Resources.getResourceAsReader(resource);
//创建SqlSessionFactory对象
factory= new SqlSessionFactoryBuilder().build(reader);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}


}
static int count;
public static void main(String[] args) {
SqlSession session = factory.openSession();
Custom custom = new Custom();
custom.setCustomName("老李");
custom.setCustomCode("GG");
custom.setState("A");

count = session.insert("com.mapper.CustomMapper.add",custom);
session.commit();
System.out.println("插入了" + count);
System.out.println(custom.getId());


}
}

之后在运行程序就可以了,当然前提是你得把数据库服务打开。

谈谈今天第一次使用Mybatis访问MySql数据库的过程

1是说的增加了几条数据
11是增加数据的id号


谈谈今天第一次使用Mybatis访问MySql数据库的过程