写这个程序时,一定要注意配置的对应关系。
第一步:打开Navicat建数据库mybatis
在此数据库建tb-user表
第二步:打开idea新建java工程spring8
注意在建java工程时不需要勾选任何东西,把它建在
e:\javachenxu下面
第三步:建包和导入mybatis包和数据库包
在src包下新建
com.jintingbo.controller
com.jintingbo.dao
com.jintingbo.pojo
com.jintingbo.service
这样几个包,并将准备好的
mybatis-3.4.6.jar
mysql-connector-java-5.1.38.jar
拷贝到src包下(src也可以认为是目录)如下图
导包的步骤如下:
第四步:建pojo
在pojo中写User类
package com.jintingbo.pojo;
import java.io.Serializable;
public class User implements Serializable {
private Integer id;
private String name;
private String sex;
private Integer age;
//添加无参构造函数
//添加有参构造函数
//添加get和set
//添加toString()
}
第五步:写用户的SQL映射文件(在dao中写UserDao.xml)
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://www.mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.jintingbo.dao.UserDao">
<insert id="save" parameterType="com.jintingbo.pojo.User" useGeneratedKeys="true">
insert into tb_user(name,sex,age) values (#{name},#{sex},#{age})
</insert>
</mapper>
第六步:写UserDao接口
package com.jintingbo.dao;
import com.jintingbo.pojo.User;
public interface UserDao {
User save(User user);
}
第七步:写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">
<configuration>
<environments default="mysql">
<environment id="mysql">
<transactionManager type="JDBC" />
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql://localhost:3306/mybatis?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone = GMT" />
<property name="username" value="root" />
<property name="password" value="" />
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="com/jintingbo/dao/UserDao.xml" />
</mappers>
</configuration>
第八步:写测试文件
在controller包下新建一个UserController类,在此类中建main()方法
package com.jintingbo.controller;
import com.jintingbo.pojo.User;
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;
public class UserController {
public static void main(String[] args) {
SqlSession sqlSession=null;
InputStream is;
try {
is = Resources.getResourceAsStream("mybatis-config.xml");
SqlSessionFactory sqlSessionFactory=new SqlSessionFactoryBuilder().build(is);
sqlSession=sqlSessionFactory.openSession();
User user=new User("admin","男",26);
sqlSession.insert("com.jintingbo.dao.UserDao.save",user);
sqlSession.commit();
} catch (IOException ex) {
sqlSession.rollback();
ex.printStackTrace();
}finally{
try{
if(sqlSession!=null) sqlSession.close();
}catch (Exception e){
e.printStackTrace();
}
}
}
}