MyBatis——数据库操作——第一个用例
第一步:建立MySql数据库
use mybatis; CREATE TABLE tb_user( id int(11) PRIMARY KEY, name VARCHAR(18), sex char(2), age int(11) )
第二步:创建将要与数据库表映射的JavaBean类
/MyBatis/src/com/web/mybatis/domain/User.java
package com.web.mybatis.domain; public class User { private Integer id; private String name; private String sex; private Integer age; public User() { super(); } public User(Integer id, String name, String sex, Integer age) { super(); this.id = id; this.name = name; this.sex = sex; this.age = age; } //省略getter和setter方法 }
第三步:配置对数据库的操作Mapper.xml文件
/MyBatis/src/com/web/mybatis/mapper/UserMapper.xml
<?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.web.mybatis.mapper.UserMapper"> <!-- parameterType属性指定插入时使用的参数类型 useGeneratedKeys="true"表示使用数据库自动增长策略,需要底层数据库支持 --> <insert id="save" parameterType="com.web.mybatis.domain.User"> INSERT INTO tb_user(id,name,sex,age) VALUES(#{id},#{name},#{sex},#{age}) </insert> </mapper>
第四步:配置MyBatis的配置文件
/MyBatis/src/mybatis-config.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"> <!-- xml配置文件包含对MyBatis系统的核心配置 --> <configuration> <!-- 指定MyBatis所有日志的具体实现 --> <settings> <setting name="logImpl" value="LOG4J"/> </settings> <!-- 环境配置,即连接的数据库。 --> <environments default="mysql"> <environment id="mysql"> <!-- 指定事务管理类型,type="JDBC"指直接简单使用JDBC的提交和回滚设置 --> <transactionManager type="JDBC"/> <!-- dataSource指数据源配置,POOLED是JDBC连接对象的数据源连接池的实现 --> <dataSource type="POOLED"> <property name="driver" value="com.mysql.jdbc.Driver"/> <property name="url" value="jdbc:mysql://127.0.0.1:3306/mybatis?serverTimezone=UTC"/> <property name="username" value="root"/> <property name="password" value="123456"/> </dataSource> </environment> </environments> <!-- mapper告诉了MyBatis去哪找持久化类的映射文件 --> <mappers> <mapper resource="com/web/mybatis/mapper/UserMapper.xml"/> </mappers> </configuration>
第五步:测试类
/MyBatis/src/com/web/mybatis/test/MybatisTest.java
package com.web.mybatis.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 com.web.mybatis.domain.User; public class MybatisTest { public static void main(String[] args) throws IOException { //读取mybatis-config.xml文件 InputStream inputStream = Resources.getResourceAsStream("mybatis-config.xml"); //初始化mybatis,创建SqlSessionFactory类的实例 SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream); //创建Session实例 SqlSession session = sqlSessionFactory.openSession(); //创建User对象 User user = new User(1,"admin","男",20); //插入数据 session.insert("com.web.mybatis.mapper.UserMapper.save",user); //提交事务 session.commit(); //关闭Session session.close(); } }
第六步:日志配置文件
/MyBatis/src/log4j.properties
#全局的日志配置
log4j.rootLogger=ERROR, stdout
#MyBatis的日志配置
log4j.logger.com.web.mybatis.mapper.UserMapper=DEBUG
#控制台输出
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n