您现在的位置是:首页 > 文章详情

一个简单的mybatis案例

日期:2018-03-11点击:492

创建一个简单的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(); } }


执行结果:

控制台输出日志信息

9bccf31136c725c44248b8713b81ce9d99aa5ec8

数据库:

39912377802b116bca4009e05d54590aa7234bfd


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


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

原文链接:https://yq.aliyun.com/articles/530460
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章