配合哔哩哔哩视频学习【SSM 框架】SpringMVC+Spring+Mybatis SSM 整合+实战+源码1-6集
1.单独使用Mybatis
1.1.导入必须包
还要引入日志文件
1.2.建立数据库和表
CREATE TABLE t_customer (
id INT PRIMARY KEY AUTO_INCREMENT,
NAME VARCHAR ( 20 ),
gender CHAR ( 1 ),
telephone VARCHAR ( 20 ),
address VARCHAR ( 50 )
);
1.3.建立实体类
package com.ssm.domain;
public class Customer {
private Integer id;
private Integer name;
private Integer gender;
private Integer telephone;
private Integer address;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public Integer getName() {
return name;
}
public void setName(Integer name) {
this.name = name;
}
public Integer getGender() {
return gender;
}
public void setGender(Integer gender) {
this.gender = gender;
}
public Integer getTelephone() {
return telephone;
}
public void setTelephone(Integer telephone) {
this.telephone = telephone;
}
public Integer getAddress() {
return address;
}
public void setAddress(Integer address) {
this.address = address;
}
}
1.4.建立Mapper接口
package com.ssm.dao;
import com.ssm.domain.Customer;
public interface CustomerMapper {
/**
* 添加客户
*/
public void saveCustomer(Customer customer);
}
1.5.建立sql映射文件
注意:这个namespace一定要和Mapper文件的权限定类名路径一致
<?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">
<!-- 该文件编写mybatis中的mapper接口里面的方法提供对应的sql语句 -->
<mapper namespace="com.ssm.dao.CustomerMapper">
<!-- 添加客户 -->
<insert id="saveCustomer" parameterType="com.ssm.domain.Customer">
insert into t_customer(NAME,gender,telephone,address) values (#{name},#{gender},#{telephone},#{address})
</insert>
</mapper>
1.6.建立sqlMapConfing.xml
<?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>
<!-- 和spring整合后environments配置将废除 -->
<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:3306/ssm?characterEncoding=utf-8"/>
<property name="username" value="root"/>
<property name="password" value="123456"/>
</dataSource>
</environment>
</environments>
<!-- 查找sql映射文件 -->
<mappers>
<mapper resource="mapper/CustomerMapper.xml"/>
</mappers>
</configuration>
1.7.编写测试类
package com.ssm.test;
import java.io.IOException;
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;
import org.junit.Test;
import com.ssm.dao.CustomerMapper;
import com.ssm.domain.Customer;
public class MyBatisTest {
@Test
public void Test() throws IOException
{
//1.创建SqlSessionFactoryBuilder
SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();
//加载sqlMapConfig.xml文件
InputStream is = Resources.getResourceAsStream("sqlMapConfig.xml");
//2.创建sqlSessionFactory
SqlSessionFactory factory = builder.build(is);
//3.打开SqlSession
SqlSession sqlSession = factory.openSession();
//4.获取Mapper接口对象
CustomerMapper customerMapper = sqlSession.getMapper(CustomerMapper.class);
//5.操作
Customer customer = new Customer();
customer.setName("小张");
customer.setGender("男");
customer.setTelephone("020-33333333");
customer.setAddress("北京青鸟");
customerMapper.saveCustomer(customer);
//6.事务
sqlSession.commit();
//7.关闭
sqlSession.close();
}
}