idea上MyBatis第一个例子

接着上面创建的maven项目来。

1.java目录下创建cn.happy.entity包

2.idea下创建数据库连接

配置连接参数

3.把数据库表变成实体类

导入成功,改一下包名就可以用了

4.新建cn.happy.dao包,在下面新建IUserDAO接口,代码如下

1 package cn.happy.dao;
2
3 import cn.happy.entity.Smbms_user;
4
5 import java.util.List;
6
7 public interface IUserDAO {
8     List<Smbms_user> findAll();
9 }

5.在IUserDAO同包下新建IUserDAO.xml文件(俗称小配置),文件名一定要相同(这样做可以规避后面的一些问题)。

官方文档中找到

2.1.4 Exploring Mapped SQL Statements

把下面的文档直接粘贴到IUserDAO.xml里

1 <?xml version="1.0" encoding="UTF-8" ?>
2 <!DOCTYPE mapper
3  PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
4  "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
5 <mapper namespace="org.mybatis.example.BlogMapper">
6  <select id="selectBlog" parameterType="int" resultType="Blog">
7  select * from Blog where id = #{id}
8  </select>
9 </mapper>

修改包名和<mapper>节点,比如我的代码修改如下即可

 1 <?xml version="1.0" encoding="UTF-8" ?>
 2 <!DOCTYPE mapper
 3         PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 4         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 5 <!--关联接口的全限定名-->
 6 <mapper namespace="cn.happy.dao.IUserDAO">
 7     <!--大配置中settings autoMappingBehavior NONE,所以数据库只会装配以下column-->
 8     <resultMap id="UserMapper" type="cn.happy.entity.Smbms_user">
 9         <id property="id" column="id"/>
10         <result property="username" column="username"/>
11         <result property="userpassword" column="userpassword"/>
12     </resultMap>
13     <!--id要与接口中的方法名相同-->
14     <select id="findAll" resultMap="UserMapper">
15         select * from smbms_user
16     </select>
17 </mapper>

6.配置resources

这里需要配置三个文件

1.jdbc.properties

2.log4j.properties

3.mybatis-config.xml

jdbc.properties

1 jdbc.driver=com.mysql.jdbc.Driver
2 jdbc.url=jdbc:mysql:///t14_smbms?characterEncoding=utf8&useSSL=true
3 jdbc.username=root
4 jdbc.password=root

log4j.properties

 1 log4j.rootLogger=debug,stdout,file
 2 ### direct log messages to stdout ###
 3 log4j.appender.stdout=org.apache.log4j.ConsoleAppender
 4 log4j.appender.stdout.Target=System.out
 5 log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
 6 log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n
 7
 8 ### direct messages to file mylog.log ###
 9 log4j.appender.file=org.apache.log4j.FileAppender
10 log4j.appender.file.File=c:\\logs\\log.log
11 log4j.appender.file.layout=org.apache.log4j.PatternLayout
12 log4j.appender.file.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n
13
14 ### set log levels - for more verbose logging change ‘info‘ to ‘debug‘ ###
15
16 log4j.logger.cn.happy.dao=debug, stdout,file

mybatis-config.xml,俗称大配置

 1 <?xml version="1.0" encoding="UTF-8" ?>
 2 <!DOCTYPE configuration
 3         PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
 4         "http://mybatis.org/dtd/mybatis-3-config.dtd">
 5 <configuration>
 6     <!--引入 jdbc.properties-->
 7     <properties resource="jdbc.properties"/>
 8     <settings>
 9         <setting name="logImpl" value="LOG4J"/>
10         <setting name="autoMappingBehavior" value="NONE"/>
11     </settings>
12     <!--别名,这里不使用别名,一律使用全限定名-->
13     <!--<typeAliases>
14         <package name="cn.happy.entity"/>
15     </typeAliases>-->
16     <!--DB connection info,配置mybatis多套运行环境-->
17     <environments default="development">
18         <environment id="development">
19             <!--采用jdbc事务管理-->
20             <transactionManager type="JDBC"/>
21             <dataSource type="POOLED">
22                 <property name="driver" value="${jdbc.driver}"/>
23                 <property name="url" value="${jdbc.url}"/>
24                 <property name="username" value="${jdbc.username}"/>
25                 <property name="password" value="${jdbc.password}"/>
26             </dataSource>
27         </environment>
28     </environments>
29     <!--大配置关联小配置-->
30     <mappers>
31         <!--关联单个小配置,不能重复关联-->
32         <mapper resource="cn/happy/dao/IUserDAO.xml"/>
33         <!--关联整个包,dao层接口名字和对应的xml名字要一样-->
34         <!--<package name="cn.happy.dao"/>-->
35     </mappers>
36 </configuration>

7.编写MyBatisUtil类

 1 package cn.happy.util;
 2
 3 import org.apache.ibatis.io.Resources;
 4 import org.apache.ibatis.session.SqlSession;
 5 import org.apache.ibatis.session.SqlSessionFactory;
 6 import org.apache.ibatis.session.SqlSessionFactoryBuilder;
 7
 8 import java.io.IOException;
 9 import java.io.InputStream;
10
11 public class MyBatisUtil {
12     private static InputStream is;
13     private static SqlSessionFactory sqlSessionFactory;
14     static {
15         try {
16             is=Resources.getResourceAsStream("mybatis-config.xml");
17         } catch (IOException e) {
18             e.printStackTrace();
19         }
20         sqlSessionFactory= new SqlSessionFactoryBuilder().build(is);
21     }
22     private MyBatisUtil(){}
23     public static SqlSession getSession(){
24         return sqlSessionFactory.openSession();
25     }
26 }

8.创建测试类

代码:

 1 package cn.happy.test;
 2
 3 import cn.happy.dao.IUserDAO;
 4 import cn.happy.entity.Smbms_user;
 5 import cn.happy.util.MyBatisUtil;
 6 import org.apache.ibatis.session.SqlSession;
 7 import org.junit.Test;
 8
 9 import java.util.List;
10
11 public class Test20170916 {
12     @Test
13     public void findAll(){
14         SqlSession session = MyBatisUtil.getSession();
15         IUserDAO mapper = session.getMapper(IUserDAO.class);
16         List<Smbms_user> users = mapper.findAll();
17         for (Smbms_user user:users
18              ) {
19             System.out.println(user.getId()+"\t"+user.getUsername()+"\t"+user.getUserpassword());
20         }
21     }
22 }

运行结果:

时间: 2024-08-03 17:57:06

idea上MyBatis第一个例子的相关文章

centos7上unix网络编程例子如何运行

推荐首先去官网下载下来本书的源码,然后将实现的源码自己单独重写就行. 下载后进行解压 tar -zxcv xxx.tar.gz 首先看源码文件的README,我们需要先在解压的文件目录中运行./configure 然后cd lib 进入lib目录中进行make操作 cd  ../libfree 可能有报错不用管,依然进行make操作 最后cd  ../intro 使用make daytimetcpcli 编译书上的第一个例子 使用./daytimetcpcli 127.0.0.1运行测试 此时会

第一个例子没有问题,第二个例子出现了

第一个是hibernate基本的配置hibernate.cfg.xml ->*.hbm.xml... Hibernate: insert into user (id, name, password, say) values (null, ?, ?, ?) 第二个是hibernate的annotation的基本基本配置就是hibernate.cfg.xml ->实体类中加注解@entity... Hibernate: insert into Teacher (name, password, sa

04springMVC结构,mvc模式,spring-mvc流程,spring-mvc的第一个例子,三种handlerMapping,几种控制器,springmvc基于注解的开发,文件上传,拦截器,s

 1. Spring-mvc介绍 1.1市面上流行的框架 Struts2(比较多) Springmvc(比较多而且属于上升的趋势) Struts1(即将被淘汰) 其他 1.2  spring-mvc结构 DispatcherServlet:中央控制器,把请求给转发到具体的控制类 Controller:具体处理请求的控制器(配置文件方式需要配置,注解方式不用配置) handlerMapping:映射处理器,负责映射中央处理器转发给controller时的映射策略 ModelAndView:服务

日更第2期-2015-1-15-openFrameworks系列第一讲-手把手制作openFrameworks上的第一个程序!

恩,今天和朋友打球来着,于是今天的案例程序就做一个球吧!O(∩_∩)O哈哈~ 首先,没有看过上一篇教程的同学,还有还没有下载好VS和OpenFrameworks的同学,都去下一下. 传送地址:http://www.cnblogs.com/linongbo/p/4227552.html 那么,开始今天的日更啦! Hello OpenFrameworks! VS的安装部分我就不说了,不过我个人建议——默认是安装在C盘的,不过你要是手动改到别的盘上的话,C盘上 依然会有6G左右的内容.......Σ(

emberjs学习一(环境和第一个例子)

code { margin: 0; padding: 0; white-space: pre; border: none; background: transparent; } code, pre tt { background-color: transparent; border: none; } --> emberjs学习一(环境和第一个例子) 博客:http://www.cnblogs.com/xiangbing/p/emberjs-test.html 案例:http://www.love

Linux 设备驱动的第一个例子 。

Hello World Linux 设备驱动的第一个例子 . 一. 源程序( hello.c )   #include <linux/init.h> #include <linux/module.h> MODULE_LICENSE("Dual BSD/GPL"); static int hello_init(void) { printk(KERN_ALERT "Hello, world/n"); return 0; } static void

hibernate第一个例子-保存对象

3.hibernate第一个例子-保存对象 使用hibernate框架需要导入的jar包: antlr-2.7.6 backport-util-concurrent c3p0-0.9.1 commons-collections-3.1    apache集合帮助的包 commons-logging-1.1.1日志 dom4j-1.6.1解析XML ehcache-1.5.0缓存框架 hibernate3hibernate核心包 javassist-3.9.0.GA代理模式工具包,解决懒加载问题

ThinkPHP3.2.2:记录一下第一个例子的运行过程

初次学习php框架,查了一下,据说laravel市场占有最高,但是根本装不了啊.需要cmd下用https方式进行下载,各种帆樯软件都用上了,根本没法用,坑死人了.由百度一下,国内的php框架据说thinkPHP热度很高,从ThinkPHP主站http://www.thinkphp.cn/看了半天教程也没看懂,自己摸索吧.记录一下第一个例子的运行过程,防止以后忘记. 1.安装WAMPServer,到D:\wamp\. 2.下载ThinkPHP3.2.2核心版.解压缩后,放到D:\wamp\www\

Informatica_(2)第一个例子

PowerCenter Repository Manager1.启动客户端程序连接服务器打开客户端(PowerCenter Repository Manager)PCRM;存储库--配置域--添加新域:填写域名(Domain_1).网关主机(SC-201709251400).网关端口后(6005),点“确定”:选中右边的存储库(BI),点“确定”:双击左边导航中的BI存储库,填写用户名.密码(admin),点“连接”:BI存储库显示在工作区,客户端连接服务器成功. 2.创建文件夹点文件夹-->创