二.Mybatis 增删改查
Student.java
package com.pojo;
import java.util.Date;
public class Student {
int stuid;
String stuName;
int stuAge;
Date stuDate;
String stuSex;
String stuProfess;
String status;
String professName;
public int getStuid() {
return stuid;
}
public void setStuid(int stuid) {
this.stuid = stuid;
}
public String getStuName() {
return stuName;
}
public void setStuName(String stuName) {
this.stuName = stuName;
}
public int getStuAge() {
return stuAge;
}
public void setStuAge(int stuAge) {
this.stuAge = stuAge;
}
public Date getStuDate() {
return stuDate;
}
public void setStuDate(Date stuDate) {
this.stuDate = stuDate;
}
public String getStuSex() {
return stuSex;
}
public void setStuSex(String stuSex) {
this.stuSex = stuSex;
}
public String getStuProfess() {
return stuProfess;
}
public void setStuProfess(String stuProfess) {
this.stuProfess = stuProfess;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
public String getProfessName() {
return professName;
}
public void setProfessName(String professName) {
this.professName = professName;
}
}
IStudentDAO.java
使用合理描述参数和SQL语句返回值的接口(比如IStudentDAO.class),这样更简单,更安全的代码,便于和其他优秀框架结合
package com.dao;
import com.pojo.Student;
public interface IStudentDAO {
Student getStudentById(int stuid);
void addStudent(Student stu);
void delStudent(int id);
void updateStudent(int id);
}
Student.xml
这里的 id="addStudent" 要和IStudentDAO.java接口中的方法名一致
resultType="student"为实体类在Configuration.xml中配置的别名
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.dao.IStudentDAO">
<select id="getStudentById" parameterType="int" resultType="student">
select a.*,b.professname from student a,profess b where a.stuprofess=b.proid and stuid=#{id}
</select>
<insert id="addStudent" parameterType="com.pojo.Student" keyProperty="stuid">
insert into student values(#{stuid},#{stuName},#{stuAge},#{stuDate},#{stuSex,jdbcType=CHAR},#{stuProfess})
</insert>
<delete id="delStudent" parameterType="int">
delete from student where stuid=#{id}
</delete>
<update id="updateStudent" parameterType="int">
update student set stuName=#{stuName} where stuid=#{id}
</update>
</mapper>
测试代码
Test.java
package com.pojo; import java.io.IOException;
import java.io.Reader;
import java.util.Date; 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.dao.IStudentDAO; public class Test {
public static void main(String[] args) throws IOException {
//读取核心的配置文件
Reader reader = Resources.getResourceAsReader("Configuration.xml");
//创建会话工厂
SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(reader);
//数据库会话
SqlSession session = factory.openSession();
//查询一个对象 第一个参数字符串是由Student.xml 中的namespace+id组成
// Student stu = session.selectOne("com.dao.StudentMapper.getStudentById",5); //通过接口的方式
IStudentDAO stuDAO = session.getMapper(IStudentDAO.class);
// Student stu = stuDAO.getStudentById(5);
//
// System.out.println(stu.getStuName());
// System.out.println(stu.getStuDate());
// System.out.println(stu.getProfessName()); //测试新增
Student stu = new Student();
stu.setStuid(16);
stu.setStuName("测试新增");
stu.setStuDate(new Date());
// stu.setStuSex("1");
// stu.setStuProfess("1");
// stuDAO.addStudent(stu); //测试删除
stuDAO.delStudent(16);
session.commit();
session.close();
}
}
二.Mybatis 增删改查的更多相关文章
- Mybatis入门(二)------增删改查
Mybatis增删改查基本操作 一.XML实现方式 1.mapper.xml的配置 <?xml version="1.0" encoding="UTF-8" ...
- MyBatis增删改查
MyBatis的简介: MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名 ...
- 【Mybatis】简单的mybatis增删改查模板
简单的mybatis增删改查模板: <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE map ...
- MyBatis增删改查模板
1. 首先,和Spring整合一下 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns=& ...
- 最简单的mybatis增删改查样例
最简单的mybatis增删改查样例 Book.java package com.bookstore.app; import java.io.Serializable; public class Boo ...
- Mybatis框架二:增删改查
这里是搭建框架和准备数据: http://www.cnblogs.com/xuyiqing/p/8600888.html 实现增删改查功能: 测试类: package junit; import ja ...
- MyBatis总结二:增删改查
上一篇讲述了MyBatis的快速入门,下面在此基础上进行增删改查的操作: 首先定义dao层的接口: package com.zy.dao; import com.zy.domain.User; imp ...
- springboot&mybatis 增删改查系列(二)
数据库篇 我的数据库名为data0525,数据表名为user,其中有五列uid,uname,upass,usex,umessage.uid为主键并且自动生成,由于是练习表,所以并没有考虑设计的合理性. ...
- MyBatis初级实战之二:增删改查
欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...
随机推荐
- c# xml API操作
LoginInfo loginInfo = new LoginInfo(); xmlNode = _xml.SelectSingleNode(loginUrl); loginInfo.LoginUrl ...
- 事件代理总结: 已经有一些使用主流类库的事件代理示例出现了,比如说jQuery、Prototype以及Yahoo! UI。你也可以找到那些不用任何类库的例子,比如说Usable Type blog上的这一个。一旦需要的话,事件代理将是你工具箱里的一件得心应手的工具,而且它很容易实现。
如果你想给网页添加点JavaScript的交互性,也许你已经听过JavaScript的事件代理(event delegation),并且觉得这是那些发烧友级别的JavaScript程序员才会关心的什么 ...
- CSS+DIV进度条
<style type="text/css"> .Bar { position: relative; width: 200px; /* 宽度 */ border: 1p ...
- DW网页制作,数学,数据库管理
数学(函数关系的建立) 函数关系:确定性现象之间的关系常常表现为函数关系,即一种现象的数量确定以后,另一种现象的数量也随之完全确定,表现为一种严格的函数关系. 如:记为y=f(x),其中x称为自变量, ...
- node.js中的模板引擎jade、handlebars、ejs
使用node.js的Express脚手架生成项目默认是jade模板引擎,jade引擎实在是太难用了,这么难用还敢设为默认的模板引擎,过分了啊!用handlebars模板引擎写还说的过去,但笔者更愿意使 ...
- hibernate从零开始到各种映射
ORM(对象/关系数据库映射) 对象关系映射(Object Relational Mapping,简称ORM)是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术.它完成了面向对象的编程语言到 ...
- Csharp:TinyMCE HTML Editor in .NET WindowsForms
/// <summary> /// /// </summary> public partial class Form2 : Form { private mshtml.IHTM ...
- 前端之CSS——盒子模型和浮动
一.CSS盒子模型 HTML文档中的每个元素都被描绘成矩形盒子,这些矩形盒子通过一个模型来描述其占用空间,这个模型称为盒子模型. 盒子模型通过四个边界来描述:margin(外边距),border(边框 ...
- 利用函数回调获取setInterval中返回的值
我们都知道,定时器里面想返回值如果你用return根本没作用,那么怎么拿到定时器所返回的值呢, 现在只需要利用回调函数,给主函数传一个函数类型的参数callback,然后把想要返回的num再传给cal ...
- 关于i 标签盛放背景图像
1.html部分 <div class="hover right"> <i class="log_change state_psd">& ...