SSM框架——第一个myBatis程序
1.1导入所需要的包
加入log4j日志文件
### direct log messages to stdout ###
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.err
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n
### direct messages to file mylog.log ###
log4j.appender.file=org.apache.log4j.FileAppender
log4j.appender.file.File=c\:mylog.log
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n
### set log levels - for more verbose logging change 'info' to 'debug' ###
log4j.rootLogger=info, stdout
1.2建立数据库:
create table t_customer(
id int primary key identity(1,1) ,
name varchar(20),
gender char(20),
telephone varchar(20),
address varchar(50)
);
1.3建立实体类
package com.lxy.domain;
public class Customer {
private Integer id;
private String name;
private String gender;
private String telephone;
private String address;
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 getGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}
public String getTelephone() {
return telephone;
}
public void setTelephone(String telephone) {
this.telephone = telephone;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
}
1.4 建立Mapper接口
package com.lxy.dao;
import com.lxy.domain.Customer;
public interface CustomerMapper {
// 添加用户
public void saveCustomer(Customer customer);
}
1.5 建立sql映射文件
<?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语句
注:namespace的包和类名要相同,id名字要与dao路径下面的方法名相同
-->
<mapper namespace="com.lxy.dao.CustomerMapper">
<!-- 添加用户 -->
<insert id="saveCustomer" parameterType="com.lxy.domain.Customer" >
Insert into t_customer(name,gender,telephone,address)
values(#{name},#{gender},#{telephone},#{address})
</insert>
</mapper>
1.6,编写核心配置 sqlMapConfig.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
PUBLIC "-//myabtis.org//DTD Config 3.0//En"
"http://mabatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<!-- 与spring整合之后environments配置会被废除 -->
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<!-- 数据库名字和用户名,密码皆为而自己设置的 -->
<property name="driver" value="com.microsoft.sqlserver.jdbc.SQLServerDriver"/>
<property name="url" value="jdbc:sqlserver://127.0.0.1:1433;DatabaseName=ssm"/>
<property name="username" value="sa"/>
<property name="password" value="root"/>
</dataSource>
</environment>
</environments>
<!-- 每一个Mapper.XML都需要在Mybatis核心配置文件中注册-->
<mappers>
<mapper resource="mapper/CustomerMapper.xml"/>
</mappers>
</configuration>
1.7编写Test测试类
package com.lxy.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.lxy.dao.CustomerMapper;
import com.lxy.domain.Customer;
public class MyBatisTest {
@Test
public void test() throws Exception {
//1,创建一个sqlsessionFactoryBulider
SqlSessionFactoryBuilder builder =new SqlSessionFactoryBuilder();
//2,加载sqlMapConfig.xml文件
InputStream in = Resources.getResourceAsStream("sqlMapConfig.xml");
//3,创建一个sqlsessionFactory
SqlSessionFactory factory= builder.build(in);
//4,打开SqlSession
SqlSession sqlSession =factory.openSession();
//5,获取Mapper接口的对象
CustomerMapper customerMapper= sqlSession.getMapper(CustomerMapper.class);
//6,操作
Customer customer =new Customer();
customer.setName("小严");
customer.setGender("女");
customer.setTelephone("111111");
customer.setAddress("ahdx");
customerMapper.saveCustomer(customer);
//7,提交事务
sqlSession.commit();
//8,关闭资源
sqlSession.close();
}
}
``运行结果:
`![在这里插入图片描述](https://img-blog.csdnimg.cn/113693c4214f4f608d96b06c60462555.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2pvdHkx,size_16,color_FFFFFF,t_70)