开发准备:
1. 创建项目,然后新建文件夹lib放置jar包,新建一个Source Folder文件放 程序得资源文件!默认命名resources
2. MyBatis 依赖 jar 包;
1),MySQL 驱动包:mysql-connector-java-5.1.*.jar
2),核心包:mybatis-3.4.5.jar
3.在NavicatForMYSQL里面建表.例如:
CREATE TABLE `t_user` (
`id` bigint(20) NOT NULL AUTO_INCREMENT,
`name` varchar(20) DEFAULT NULL,
`salary` decimal(8,2) DEFAULT NULL
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
4. 创建操作对象
@Data
public class User {
private Long id;
private String name;
private BigDecimal salary;}
5. 配置MyBatis主配置文件.只有一份,名字任意,起名为 mybatis-config.xml .放在resources文件夹
主配置文件主要包括数据库的信息,如连接池、事务等和全局的配置如关联映射日志、插件等。
<?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>
<settings>
<setting name="logImpl" value="LOG4J"/> //配置日志
</settings>
<environments default="dev"> //指定运行环境,根据对应id运行!
<environment id="dev"> //环境id,可以配置多个环境
<transactionManager type="JDBC" />
<dataSource type="POOLED"> //进行数据库的连接.
<property name="driver" value="com.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql://localhost:3306/mybatisdemo" />
<property name="username" value="root" />
<property name="password" value="admin" />
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="cn/wolfcode/mybatis/UserMapper.xml"/> //关联映射文件
</mappers>
</configuration>
6. 配置映射文件UserMapper
映射文件只要是包含该对象的 CRUD 操作的配置和 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">
<mapper namespace="cn.wolfcode.mybatis.UserMapper"> //命名空间,唯一性.
</mapper>
7. 配置日志框架
拷贝日志库jar包:log4j-1.2.17.jar
在resources文件夹里新建一个Log4.properties文件
# Global logging configuration
log4j.rootLogger=ERROR, stdout
# MyBatis logging configuration...
log4j.logger.cn.wolfcode.mybatis=TRACE //记住这里要更改包名,对应你要配置的包下面文件
# Console output...
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n
在主配置文件mybatis-config.xml配置
<configuration>
<settings>
<setting name="logImpl" value="LOG4J"/>
</settings>
</configuration>
8. 开始写代码.进行保存操作
public class app {
@Test
public void testName() throws Exception {
User u = new User();
u.setName("世界");
//获取resources里主配置文件转换为流
InputStream config = Resources.getResourceAsStream("mybatis-config.xml");
SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(config);//创建工厂
SqlSession session = factory.openSession();//用工厂创建session对象
session.insert("com._chenit.myBatis.domain.User.save", u);
session.commit();
session.close();
System.out.println(u);
}
}
9. 配置映射文件UserMapper
<?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._chenit.myBatis.domain.User"> //参数类型为封装信息类的全限定名
<insert id="save" parameterType="com._chenit.myBatis.domain.User"
useGeneratedKeys="true" keyProperty="id"> //这个设置自动生成主键,可以打印获取
INSERT INTO user (name) VALUES (#{name}) //书写SQL语句, #{}获取设置的参数,保存记得()
</insert>
</mapper>