一个简单的mybatis案例

创建一个简单的mybatis案例:

 

案例功能:

写一个Java程序通过mybatis连接MySQL数据库并插入一条记录。

 

项目步骤:

1.新建一个Java项目mybatistest

2.引入jar包:

  • log4j-1.2.17.jar
  • mybatis-3.4.6.jar
  • mysql-connector-java-5.1.29.jar

3.src下新建2个包:

  • com.radish.domain
  • com.radish.mapper
  • test

4.新建表:


CREATE TABLE `tb_user` (
  `ID` int(11) NOT NULL AUTO_INCREMENT,
  `NAME` varchar(18) DEFAULT NULL,
  `SEX` char(2) DEFAULT NULL,
  `AGE` int(11) DEFAULT NULL,
  PRIMARY KEY (`ID`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8;


5.创建POJO  src/com/radish/domain/User.java:


private Integer id;
private String name;
private String sex;
private Integer age;


省略构造方法和get/set方法

6.创建mybatis-config.xml

详见我的另外一篇博文

 

7.创建log4j.properties:


 
log4j.rootLogger=ERROR, stdout
 
log4j.logger.com.radish.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


 

8.创建测试类:


package Test;
 
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.radish.domain.User;
 
public class MybatisTest {
public static void main(String[] args) throws Exception{
// 读取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 = new User("admin", "男", 26);
session.insert("com.radish.mapper.UserMapper.save", user);
session.commit();
session.close();
}
}


执行结果:

控制台输出日志信息

一个简单的mybatis案例

数据库:

一个简单的mybatis案例


  • 另外提一下在练习中遇到一次preparedstatement is close 的异常提示。这是因为之前在做的时候顺手拉进了一个MySQL的3.X的驱动包,可能是这个版本的驱动包的preparedstatement类的源码实现有差异吧,以后有兴致再回去翻阅,目前是将项目中的驱动jar包改成了5.X的版本,问题解决。


项目在附录中,欢迎指点。

上一篇:linux 韩顺平课程笔记 3.3 关机、重启和用户登录注销


下一篇:MVC和MV的区别