博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mybatis 学习三 使用接口类编写程序
阅读量:7224 次
发布时间:2019-06-29

本文共 5672 字,大约阅读时间需要 18 分钟。

hot3.png

需要两个jar包,mysql-connector-java-5.1.21.jar和mybatis-3.4.2.jar 对应的maven为

org.mybatis
mybatis
3.4.2
mysql
mysql-connector-java
5.1.21

1.创建表

use test;create table t_employeer(        employeer_id int not null  primary key AUTO_INCREMENT ,        employeer_name varchar(50) default null,        employeer_age int default null,        employeer_department varchar(100) default null,        employeer_worktype varchar(100) default null)

2.创建实体类

public class Employeer {	private Integer employeer_id;	private String employeer_name;	private Integer employeer_age ;	private String employeer_department;	private String employeer_worktype;        ...

3.创建mybatis配置文件mybatis-config.xml

如果想从配置文件读取mysql的数据源,可以添加对应的properties文件,上文的注释为properties方式的配置 mysql.properties

driver=com.mysql.jdbc.Driverurl=jdbc:mysql://localhost:3306/test?charset=utf8username=hsmpassword=1994713

4.根据实体列编写对应的xml文件Employeer.xml

这个地方的命名空间很重要,一定是具体的接口

insert into `t_employeer`(employeer_name,employeer_age,employeer_department,employeer_worktype) values(#{employeer_name},#{employeer_age},#{employeer_department},#{employeer_worktype})
delete from `t_employeer` where employeer_id = #{employeer_id}
update t_employeer set employeer_name = #{employeer_name},employeer_age= #{employeer_age},employeer_department = #{employeer_department} ,employeer_worktype=#{employeer_worktype} where employeer_id = #{employeer_id}

5.编写mapper接口

package com.hsm.inter;import com.mucfc.model.Employeer;public interface EmployeerMapper {	/**	 * 注意要和Employeer.xml的方法名对应	 */	public Employeer findEmployeerByID(int id);	public void addEmployeer(Employeer employeer);	public void deleteEmployeer(int id);	public void updateEmployeer(Employeer employeer);}

6 .编写测试类

package com.hsm;import java.io.Reader;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.hsm.inter.EmployeerMapper;import com.mucfc.model.Employeer;public class MybatisTest2 {	private static SqlSessionFactory sqlSessionFactory;	private static Reader reader;	static {		try {			reader = Resources.getResourceAsReader("mybatis-config.xml");			sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader);		} catch (Exception e) {			e.printStackTrace();		}	}	/**	 * 查找	 */	public static void findEmployeerById(int id) {		SqlSession session = null;		try {			session = sqlSessionFactory.openSession();			EmployeerMapper employeerMapper=session.getMapper(EmployeerMapper.class);			Employeer employeer=employeerMapper.findEmployeerByID(id);			if (employeer == null)				System.out.println("null");			else				System.out.println(employeer);		} finally {			session.close();		}	}	/**	 * 增加	 */	public static void addEmployeer(Employeer employeer){		SqlSession session = null;		try {			session = sqlSessionFactory.openSession();			EmployeerMapper employeerMapper=session.getMapper(EmployeerMapper.class);			employeerMapper.addEmployeer(employeer);            session.commit() ;  				} finally {			session.close();		}			}	/**	 * 删除	 * 	 */	public static void deleteEmployeer(int id){		SqlSession session = null;		try {			session = sqlSessionFactory.openSession();			EmployeerMapper employeerMapper=session.getMapper(EmployeerMapper.class);			employeerMapper.deleteEmployeer(id);            session.commit() ;  				} finally {			session.close();		}	}	/**	 * 更改	 */	public static void updateEmployeer(Employeer employeer){		SqlSession session = null;		try {			session = sqlSessionFactory.openSession(); 			EmployeerMapper employeerMapper=session.getMapper(EmployeerMapper.class);			employeerMapper.updateEmployeer(employeer);            session.commit() ;  				} finally {			session.close();		}			}	public static void main(String[] args) {									Employeer employeer1=new Employeer();		employeer1.setEmployeer_name("李四");		employeer1.setEmployeer_age(23);		employeer1.setEmployeer_department("产品一部");		employeer1.setEmployeer_worktype("开发工程师");				Employeer employeer2=new Employeer();		employeer2.setEmployeer_name("张三");		employeer2.setEmployeer_age(30);		employeer2.setEmployeer_department("产品二部");		employeer2.setEmployeer_worktype("测试工程师");				Employeer employeer3=new Employeer();		employeer3.setEmployeer_name("小王");		employeer3.setEmployeer_age(22);		employeer3.setEmployeer_department("产品三部");		employeer3.setEmployeer_worktype("数据分析师");						Employeer employeer4=new Employeer();		employeer4.setEmployeer_name("明明");		employeer4.setEmployeer_age(22);		employeer4.setEmployeer_department("财会部");		employeer4.setEmployeer_worktype("财务人员");			//插入     	addEmployeer(employeer1);     	addEmployeer(employeer2);     	addEmployeer(employeer3);     	addEmployeer(employeer4);     	findEmployeerById(26);     	deleteEmployeer(27);				//更改		employeer2.setEmployeer_id(28);		employeer2.setEmployeer_age(21);		employeer2.setEmployeer_department("产品四部");		updateEmployeer(employeer2);	}}

转载于:https://my.oschina.net/u/2615530/blog/870098

你可能感兴趣的文章
20155229 《信息安全系统设计基础》第六周作业补充
查看>>
oracle分页存储过程
查看>>
javacript中的事件
查看>>
java 多线程四
查看>>
Django开发笔记五
查看>>
2014年acm区域赛牡丹江赛区总结
查看>>
【转载】关于前后端分离式开发学习
查看>>
忙里偷闲( ˇˍˇ )闲里偷学【C语言篇】——(9)链表
查看>>
struts2 type="redirectAction"重定向 与动态调用方法
查看>>
实时搜索的优化
查看>>
Oracle 好书 07 ( undo 表空间管理 )
查看>>
使用MapReduce实现温度排序
查看>>
技术网站
查看>>
HDU计算机学院大学生程序设计竞赛(2015’12)1008 Study Words
查看>>
python面试
查看>>
oracle中去掉回车换行空格的方法详解
查看>>
eval(gzinflate(base64_decode N层,自动解密
查看>>
Apache CXF 2.7.0 的 wsdl2java 生成客户端java类中required 未定义的问题
查看>>
中国大学排名定向爬虫
查看>>
657. Insert Delete GetRandom O(1)
查看>>