一,mybatis实现查询增加完整步骤。查询,插入操作。
1.创建数据库,数据库名称,属性,user表中的属性包括,id,name,pwd。
2..配置pom文件引入相关jar包进行导入。并引入log4j的日志文件到resources文件目录下。
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>Mybatis01artifactId>
<groupId>org.examplegroupId>
<version>1.0-SNAPSHOTversion>
parent>
<modelVersion>4.0.0modelVersion>
<artifactId>Test01artifactId>
<dependencies>
<dependency>
<groupId>org.examplegroupId>
<artifactId>Test01artifactId>
<version>1.0-SNAPSHOTversion>
dependency>
<dependency>
<groupId>junitgroupId>
<artifactId>junitartifactId>
<version>4.13version>
dependency>
<dependency>
<groupId>org.mybatisgroupId>
<artifactId>mybatisartifactId>
<version>3.5.6version>
dependency>
<dependency>
<groupId>mysqlgroupId>
<artifactId>mysql-connector-javaartifactId>
<version>8.0.20version>
dependency>
dependencies>
project>
3.创建与数据库对应的类,创建对应的数据类型以及数据字段名称。
包com.liuboss.demo,创建类User。
---实现其中的get,set,toString方法。
package com.liuboss.demo;
public class User {
private int id;
private String name;
private String pwd;
@Override
public String toString() {
return "User{" +
"id=" + id +
", name='" + name + '\'' +
", pwd='" + pwd + '\'' +
'}';
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPwd() {
return pwd;
}
public void setPwd(String pwd) {
this.pwd = pwd;
}
}
4.在resources文件下创建配置文件进行,实现数据库操作语句。
com.liuboss.demo包,创建配置文件MybatisConfig.xml。
注意:命名空间和id值的配置。
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="userMapper">
<select id="userAll" resultType="com.liuboss.demo.User">
select * from user
select>
<insert id="save" parameterType="com.liuboss.demo.User">
insert into user value(#{id},#{name},#{pwd})
insert>
mapper>
5.配置数据库链接文件。MybatisSqlConfig.xml
---其中数据库连接文件,里面要进行数据库操作文件的关联
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<property name="driver" value="com.mysql.cj.jdbc.Driver"/>
<property name="url"
value="jdbc:mysql://localhost:3306/mybatis?useSSL=true&useUnicode=true&characterEncoding=utf8&serverTimezOne=UTC"/>
<property name="username" value="root"/>
<property name="password" value="123456"/>
dataSource>
environment>
environments>
<mappers>
<mapper resource="com\liuboss\demo\MybatisConfig.xml"/>
mappers>
configuration>
6.测试文件。
package com.liuboss.demo;
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 Test {
@org.junit.Test
public void test1() throws IOException {
//获得核心配置文件
InputStream resourceAsStream = Resources.getResourceAsStream("MybatisSqlConfig.xml");
//获得session工厂对象
SqlSessionFactory build = new SqlSessionFactoryBuilder().build(resourceAsStream);
//获得session会话对象
SqlSession sqlSession = build.openSession();
//执行操作 参数,namespqce+id
List
//打印数据
System.out.println(userList);
//释放资源
sqlSession.close();
}
@org.junit.Test
public void test2() throws IOException {
User user=new User();
user.setId(57);
user.setName("金刚");
user.setPwd("123");
//获得核心配置文件
InputStream resourceAsStream = Resources.getResourceAsStream("MybatisSqlConfig.xml");
//获得session工厂对象
SqlSessionFactory build = new SqlSessionFactoryBuilder().build(resourceAsStream);
//获得session会话对象
SqlSession sqlSession = build.openSession();
//执行操作 参数,namespqce+id
sqlSession.insert("userMapper.save",user);
sqlSession.commit();
//释放资源
sqlSession.close();
}
}
---在数据库的文件添加中,要提交事务,数据才可以添加成功。
二。mybaits实现增删改查代码实现
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0modelVersion>
<groupId>org.examplegroupId>
<artifactId>Mybatis01artifactId>
<version>1.0-SNAPSHOTversion>
<modules>
<module>Test01module>
modules>
<dependencies>
<dependency>
<groupId>mysqlgroupId>
<artifactId>mysql-connector-javaartifactId>
<version>8.0.20version>
dependency>
<dependency>
<groupId>org.mybatisgroupId>
<artifactId>mybatisartifactId>
<version>3.4.6version>
dependency>
<dependency>
<groupId>junitgroupId>
<artifactId>junitartifactId>
<version>4.13version>
dependency>
<dependency>
<groupId>log4jgroupId>
<artifactId>log4jartifactId>
<version>1.2.17version>
dependency>
dependencies>
project>
package com.liuboss.demo;
public class User {
private int id;
private String name;
@Override
public String toString() {
return "User{" +
"id=" + id +
", name='" + name + '\'' +
'}';
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="userMapper">
<select id="findAll" resultType="com.liuboss.demo.User">
select * from t_class
select>
<insert id="save" parameterType="com.liuboss.demo.User">
insert into t_class value(#{id},#{name})
insert>
<update id="update" parameterType="com.liuboss.demo.User">
update t_class set name=#{name} where id=#{id}
update>
<delete id="delete" parameterType="com.liuboss.demo.User">
delete from t_class where id=#{id}
delete>
mapper>
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<property name="driver" value="com.mysql.cj.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/text01?serverTimezOne=UTC"/>
<property name="username" value="root"/>
<property name="password" value="123456"/>
dataSource>
environment>
environments>
<mappers>
<mapper resource="com\liuboss\mapper\UserMapper.xml">mapper>
mappers>
configuration>
package com.liuboss.demo;
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 org.junit.Test;
import java.io.IOException;
import java.io.InputStream;
import java.util.List;
public class MyBatis {
@Test
public void test1() throws IOException {
//获得核心配置文件
InputStream resourceAsStream = Resources.getResourceAsStream("sqlMapConfig.xml");
//获得session工厂对象
SqlSessionFactory build = new SqlSessionFactoryBuilder().build(resourceAsStream);
//获得session会话对象
SqlSession sqlSession = build.openSession();
//执行操作 参数,namespqce+id
List
//打印数据
System.out.println(userList);
//释放资源
sqlSession.close();
}
@Test
public void test2() throws IOException {
//模拟user对象
User user=new User();
user.setId(6);
user.setName("马云人自己");
InputStream resourceAsStream = Resources.getResourceAsStream("sqlMapConfig.xml");
//获得session工厂对象
SqlSessionFactory build = new SqlSessionFactoryBuilder().build(resourceAsStream);
//获得session会话对象
SqlSession sqlSession = build.openSession();
//执行操作 参数,namespqce+id
sqlSession.insert("userMapper.save",user);
sqlSession.commit();
//释放资源
sqlSession.close();
}
/*更新操作*/
@Test
public void test3() throws IOException {
//模拟user对象
User user=new User();
user.setId(6);
user.setName("永乐大帝");
InputStream resourceAsStream = Resources.getResourceAsStream("sqlMapConfig.xml");
//获得session工厂对象
SqlSessionFactory build = new SqlSessionFactoryBuilder().build(resourceAsStream);
//获得session会话对象
SqlSession sqlSession = build.openSession();
//执行操作 参数,namespqce+id
sqlSession.update("userMapper.update",user);
sqlSession.commit();
//释放资源
sqlSession.close();
}
/*删除操作*/
@Test
public void test4() throws IOException {
//模拟user对象
User user=new User();
user.setId(7);
InputStream resourceAsStream = Resources.getResourceAsStream("sqlMapConfig.xml");
//获得session工厂对象
SqlSessionFactory build = new SqlSessionFactoryBuilder().build(resourceAsStream);
//获得session会话对象
SqlSession sqlSession = build.openSession();
//执行操作 参数,namespqce+id
sqlSession.update("userMapper.delete",7);
sqlSession.commit();
//释放资源
sqlSession.close();
}
}
三。mybatis小配置文件的配置。简化配置可以随意修改
在resources文件下创建配置文件jdbc.properties配置数据库连接
jdbc.driver = com.mysql.cj.jdbc.Driver
jdbc.url = jdbc:mysql://localhost:3306/text01?serverTimezOne=UTC
jdbc.username = root
jdbc.password = 123456
2.在sqlMapConfig.xml配置文件中引入jdbc小配置文件
<properties resource="jdbc.properties">properties>
---并将其中的数据库配置修改为jdbc.properties中的相关配置名称
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<properties resource="jdbc.properties">properties>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<property name="driver" value="${jdbc.driver}"/>
<property name="url" value="${jdbc.url}"/>
<property name="username" value="${jdbc.username}"/>
<property name="password" value="${jdbc.password}"/>
dataSource>
environment>
environments>
<mappers>
<mapper resource="com\liuboss\mapper\UserMapper.xml">mapper>
mappers>
configuration>
配置完成进行测试,测试配置是否成功。
四,配置文件中别名的配置
将别名进行配置方便开发,简化代码。
<typeAliases>
<typeAlias type="com.liuboss.demo.User" alias="user">typeAlias>
typeAliases>
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<properties resource="jdbc.properties">properties>
<typeAliases>
<typeAlias type="com.liuboss.demo.User" alias="user">typeAlias>
typeAliases>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<property name="driver" value="${jdbc.driver}"/>
<property name="url" value="${jdbc.url}"/>
<property name="username" value="${jdbc.username}"/>
<property name="password" value="${jdbc.password}"/>
dataSource>
environment>
environments>
<mappers>
<mapper resource="com\liuboss\mapper\UserMapper.xml">mapper>
mappers>
configuration>
别名配置后的使用。简化开发
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="userMapper">
<select id="findAll" resultType="user">
select * from t_class
select>
<insert id="save" parameterType="user">
insert into t_class value(#{id},#{name})
insert>
<update id="update" parameterType="user">
update t_class set name=#{name} where id=#{id}
update>
<delete id="delete" parameterType="user">
delete from t_class where id=#{id}
delete>
mapper>
---存在的数据类型不用定义别名直接使用即可
当openSession设置为true时,将自动提交事务,不用手动提交事务。
//获得session会话对象
SqlSession sqlSession = build.openSession(true);