MyBatis的第一个HelloWorld小例子(不用接口)
来源:互联网 发布:最优化什么书 编辑:程序博客网 时间:2024/06/05 11:26
首先要创建好相应的数据库和表,导入Mybatis相关的jar包以及数据库驱动的jar包。
在Eclipse中创建一个项目,将相关的包导入进去。
创建一个mybatis-config(名字可以随便取,但是最好用这个名字)作为全局配置文件。内容如下:
<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE configurationPUBLIC "-//mybatis.org//DTD Config 3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd"><configuration><!-- environments 配置MyBatis的运行环境--> <environments default="development"> <environment id="development"> <!-- type="JDBC" 代表直接使用 JDBC 的提交和回滚设置 --> <transactionManager type="JDBC" /> <!-- POOLED 表示支持JDBC数据源连接池 --> <!-- 数据库连接池,由 Mybatis 管理,数据库名是 mybatis,MySQL 用户名 root,密码为123456 --> <dataSource type="POOLED"> <property name="driver" value="com.mysql.jdbc.Driver" /> <property name="url" value="jdbc:mysql://localhost:3306/mybatis" /> <property name="username" value="root" /> <property name="password" value="123456" /> </dataSource> </environment> </environments> <mappers> <mapper resource="EmployeeMapper.xml" /> </mappers></configuration>
然后创建一个与数据库表相对应的bean文件,
package com.mybatis.bean;public class Employee { private int id; private String lastName; private String sex; private String email; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getLastName() { return lastName; } public void setLastName(String lastName) { this.lastName = lastName; } public String getSex() { return sex; } public void setSex(String sex) { this.sex = sex; } public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } @Override public String toString() { return "Employee [id=" + id + ", lastName=" + lastName + ", sex=" + sex + ", email=" + email + "]"; }}
接下来创建一个与bean相对应的Mapper文件,只写一个sql语句作为例子。即根据ID查找Employee表中的某一条记录。
<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd"><mapper namespace="com.mybatis.dao.EmployeeMapper"><!-- namespce:命名空间id:用作唯一标识,与查询语句相对应resultType:查询返回结果类型id = #{id}:从传递过来的值中与其对应 --> <select id="getEmpById" resultType="com.mybatis.bean.Employee"> select * from tbl_employee where id = #{id} </select></mapper>
注意,Mapper.xml文件需要在全局配置文件中注册。
<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE configurationPUBLIC "-//mybatis.org//DTD Config 3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd"><configuration><!-- environments 配置MyBatis的运行环境--> <environments default="development"> <environment id="development"> <!-- type="JDBC" 代表直接使用 JDBC 的提交和回滚设置 --> <transactionManager type="JDBC" /> <!-- POOLED 表示支持JDBC数据源连接池 --> <!-- 数据库连接池,由 Mybatis 管理,数据库名是 mybatis,MySQL 用户名 root,密码为123456 --> <dataSource type="POOLED"> <property name="driver" value="com.mysql.jdbc.Driver" /> <property name="url" value="jdbc:mysql://localhost:3306/mybatis" /> <property name="username" value="root" /> <property name="password" value="123456" /> </dataSource> </environment> </environments> <!--注册相对应的Mapper--> <mappers> <mapper resource="EmployeeMapper.xml" /> </mappers></configuration>
接下来,就可以创建一个测试类来进行测试了。
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.mybatis.bean.Employee;import com.mybatis.dao.EmployeeMapper;public class Test { public SqlSessionFactory getSqlSessionFactory() throws IOException{ String resource = "mybatis-config.xml"; InputStream inputStream = Resources.getResourceAsStream(resource); SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream); return sqlSessionFactory; } @org.junit.Test public void test() throws IOException{ //1.获取一个SqlSessionFactory对象 String resource = "mybatis-config.xml"; InputStream inputStream = Resources.getResourceAsStream(resource); SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream); //2.使用一个SqlSessionFactory对象open一个SqlSession对象 SqlSession sqlSession=sqlSessionFactory.openSession(); try { //3.设置返回对象类型,使用sqlSession实例调用对应Mapper.xml文件中的查询语句 //执行查询语句对应的mapper,第一个参数为对应的查询ID(注意这个查询ID是Mapper.xml中自己设置的),第二个参数为查询的关键字 Employee emp=sqlSession.selectOne("getEmpById", 1); System.out.println(emp.toString()); } finally { //4.关闭sqlSession sqlSession.close(); } }
使用Junit进行测试,运行,结果如下:
测试成功!
阅读全文
0 0
- MyBatis的第一个HelloWorld小例子(不用接口)
- android 的第一个小例子helloworld
- MyBatis使用接口映射的简单HelloWorld小例子
- mybatis第一个helloworld
- 第一个mybatis例子
- 第一个简单的hibernate小例子
- 【hibernate】我的第一个小例子
- 我的第一个Servlet小例子
- 【MyBatis】第一个入门例子
- 说说 第一个小项目HelloWorld 的目录结构
- 今天学习了我的第一个小程序 HelloWorld !!!
- Vagrant使用指南:Vagrant第一个Helloworld例子
- Mybatis第一个小程序
- Opengl第一个小例子
- springMVC 第一个小例子
- sparkSQL第一个小例子
- 第一个Hibernate小例子
- 第一个java小程序HelloWorld
- C# 字符流返回文件下载时 文件中文名乱码处理
- mysql 执行流
- networkmutilpledemoforhttpurlconnection 一个综合案例
- 二叉树复习
- ActiveMQ之TemporaryQueue和TemporaryTopic
- MyBatis的第一个HelloWorld小例子(不用接口)
- gcc编译选项
- ActiveMQ请求和应答模式
- 阿里面试问题(C++方向)
- float: right从右向左排序
- HDU2295_Radar _DLX跳舞链的重复覆盖
- SSM--之用Bootstrap插件实现分页
- WEB服务器:在IIS上实现python CGI
- 反射方法整理