Mybatistest
一、添加mybatis的以及连接到数据库的架包
在对应的网站找到相应的架包,网站参考如下
Mybatis:mybatis 3.5.2 jar 下载- MyBatis中文官网
数据库的架包:MySQL :: 下载连接器/J
参考图例如下
图例编号:1
二、创建数据库和表
需要注意的是,这里只是针对MySQL的数据库。
参考图例
图例编号:2
参考数据表如下
图例编号:3
到此,前期的开发环境准备工作全部完成。
三、添加Mybatis的配置文件conf.xml
在src目录下创建一个conf.xml文件,如下图所示:
图例编号:4
四、创建与数据表所对应的Java实体类,
如下图所示:
图例编号:5
具体代码
packagecom.oracle.jyzy.student.mybatis.entity;
public class Zhqemail {
private int zhuemail_id;
private String zhuemail_title;
private String zhuemail_sender;
private String zhuemail_send_time;
private String zhuemail_addressee;
private String zhuemail_body;
private int zhuversion;
public Zhqemail() {
super();
// TODO Auto-generated constructor stub
}
public Zhqemail(Stringzhuemail_title, String zhuemail_sender, String zhuemail_send_time, Stringzhuemail_addressee,
String zhuemail_body, int zhuversion) {
super();
this.zhuemail_title = zhuemail_title;
this.zhuemail_sender = zhuemail_sender;
this.zhuemail_send_time = zhuemail_send_time;
this.zhuemail_addressee = zhuemail_addressee;
this.zhuemail_body = zhuemail_body;
this.zhuversion = zhuversion;
}
public Zhqemail(intzhuemail_id, String zhuemail_title, String zhuemail_sender, Stringzhuemail_send_time,
String zhuemail_addressee, String zhuemail_body, intzhuversion) {
super();
this.zhuemail_id = zhuemail_id;
this.zhuemail_title = zhuemail_title;
this.zhuemail_sender = zhuemail_sender;
this.zhuemail_send_time = zhuemail_send_time;
this.zhuemail_addressee = zhuemail_addressee;
this.zhuemail_body = zhuemail_body;
this.zhuversion = zhuversion;
}
public int getZhuemail_id(){
return zhuemail_id;
}
public voidsetZhuemail_id(int zhuemail_id) {
this.zhuemail_id = zhuemail_id;
}
public StringgetZhuemail_title() {
return zhuemail_title;
}
public void setZhuemail_title(Stringzhuemail_title) {
this.zhuemail_title = zhuemail_title;
}
public StringgetZhuemail_sender() {
return zhuemail_sender;
}
public voidsetZhuemail_sender(String zhuemail_sender) {
this.zhuemail_sender = zhuemail_sender;
}
public StringgetZhuemail_send_time() {
return zhuemail_send_time;
}
public voidsetZhuemail_send_time(String zhuemail_send_time) {
this.zhuemail_send_time = zhuemail_send_time;
}
public StringgetZhuemail_addressee() {
return zhuemail_addressee;
}
public void setZhuemail_addressee(Stringzhuemail_addressee) {
this.zhuemail_addressee = zhuemail_addressee;
}
public String getZhuemail_body(){
return zhuemail_body;
}
public voidsetZhuemail_body(String zhuemail_body) {
this.zhuemail_body = zhuemail_body;
}
public int getZhuversion() {
return zhuversion;
}
public voidsetZhuversion(int zhuversion) {
this.zhuversion = zhuversion;
}
@Override
public String toString() {
return "Zhqemail [zhuemail_id=" + zhuemail_id +", zhuemail_title=" + zhuemail_title + ", zhuemail_sender="
+ zhuemail_sender + ",zhuemail_send_time=" + zhuemail_send_time + ",zhuemail_addressee="
+ zhuemail_addressee + ",zhuemail_body=" + zhuemail_body + ", zhuversion=" + zhuversion +"]";
}
}
五、定义操作zhqemail表的sql映射文件zhqemailMapper.xml
具体参考图例如下:
图例编号:6
参考代码
<?xml version="1.0"encoding="UTF-8"?>
<!-- 为这个mapper指定一个唯一的namespace,namespace的值习惯上设置成"包名+sql映射文件名",
这样就能够保证namespace的值是唯一的
例如namespace="com.oracle.jyzy.student.mybatis.entity.newsMapper"
就是com.oracle.jyzy.student.mybatis.entity(包名)
+zhqemailMapper(zhqemailMapper.xml文件去除后缀) -->
<mapper
namespace="com.oracle.jyzy.student.mybatis.mapper.zhqemailmapper.xml">
<!-- 在select标签中编写查询的SQL语句, 设置select标签的id属性为getzhqemail,
id属性值必须是唯一的,不能够重复 使用parameterType属性指明查询时使用的参数类型,
resultType属性指明查询返回的结果集类型
resultType="com.oracle.jyzy.student.mybatis.entity.zhqemail"
就表示将查询结果封装成一个zhqemail类的对象返回 zhqemail类就是zhqemail表所对应的实体类 -->
<!-- 根据id查询得到一个zhqemail对象 -->
<selectid="getZhqemail" parameterType="int"
resultType="com.oracle.jyzy.student.mybatis.entity.zhqemail">
SELECT* FROM zhqemail WHERE zhuemail_id=#{id}
</select>
</mapper>
六、在config.xml文件中注册zhqemailMapper.xml文件
参考图例如下
图例编号:7
参考代码
<mappers>
<!-- 注册zhqemailmapper.xml文件,
zhqemailmapper.xml位于com.oracle.jyzy.student.mybatis.mapper这个包下,所以resource写成
com/oracle/jyzy/student/mybatis/mapper/zhqemailmapper.xml-->
<mapperresource="com/oracle/jyzy/student/mybatis/mapper/zhqemailmapper.xml"/>
</mappers>
七、编写测试代码:执行定义的select语句
创建一个Test1类,编写如下的测试代码:
参考图例
图例编号:8
参考代码、
package com.oracle.jyzy.student.mybatis.test;
import java.io.InputStream;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
importorg.apache.ibatis.session.SqlSessionFactoryBuilder;
import com.oracle.jyzy.student.mybatis.entity.News;
import com.oracle.jyzy.student.mybatis.entity.Zhqemail;
public class Test1 {
public static void main(String[] args) {
//mybatis的配置文件
Stringresource = "config.xml";
//使用类加载器加载mybatis的配置文件(它也加载关联的映射文件)
InputStreamis = Test.class.getClassLoader().getResourceAsStream(resource);
//构建sqlSession的工厂
SqlSessionFactory sessionFactory = newSqlSessionFactoryBuilder().build(is);
//使用MyBatis提供的Resources类加载mybatis的配置文件(它也加载关联的映射文件)
//Readerreader = Resources.getResourceAsReader(resource);
//构建sqlSession的工厂
//SqlSessionFactory sessionFactory = newSqlSessionFactoryBuilder().build(reader);
//创建能执行映射文件中sql的sqlSession
SqlSessionsession = sessionFactory.openSession();
/**
* 映射sql的标识字符串,
*com.oracle.jyzy.student.mybatis.entity.zhqemailMapper是
*zhqemailMapper.xml文件中mapper标签的namespace属性的值,
* getzhqemail是select标签的id属性值,通过select标签的id属性值就可以找到要执行的SQL
*/
Stringstatement ="com.oracle.jyzy.student.mybatis.mapper.zhqemailmapper.xml.getZhqemail";//映射sql的标识字符串
//执行查询返回一个唯一user对象的sql
Zhqemailnews news = session.selectOne(statement, 1);
System.out.println(news);
}
}
创作不易,如有帮助,还请点赞。💞
作者:降香
本文为原创,无有抄袭。
🐱