mybatis3.2.7事务查询和插入例子
来源:互联网 发布:微博淘宝优惠券 编辑:程序博客网 时间:2024/06/08 19:20
系统环境jdk7,eclipse Version: Luna Release (4.4.0),
目录结构如下图:
Test.java源码:
package domain;
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.springdemo.usermgr.vo.SUser;
import com.springdemo.usermgr.vo.SUserMapper;
public class Test {
public static void main(String[] args) throws IOException {
String resource = "config.xml";
Reader reader = Resources.getResourceAsReader(resource);
SqlSessionFactory ssf = new SqlSessionFactoryBuilder().build(reader);
SqlSession session = ssf.openSession(false); //true 为自动提交事务
try {
SUser SUser = (SUser) session.selectOne("selectSUser", 1);
SUser SUser2 = session.selectOne("com.springdemo.usermgr.vo.SUserMapper.selectSUser", 2);
System.out.println(SUser);
System.out.println(SUser2.getPwd());
SUserMapper mapper = session.getMapper(SUserMapper.class);
SUser blog = mapper.getSUser("2");
System.out.println(blog.getUserName());
SUser user3 = new SUser();
user3.setUserName("中文名zhou");
user3.setPwd("xxxx");
user3.setSignUpTime(new Date());
System.out.println("插入前主键为:"+user3.getId());
mapper.insertSUser(user3);//插入操作
System.out.println("插入后主键为:"+user3.getId());
session.commit(true);
} catch (Exception e) {
session.rollback(true);
e.printStackTrace();
} finally {
session.close();
}
}
}
SUser.java源码:
package com.springdemo.usermgr.vo;
import java.util.Date;
public class SUser {
private Integer id;
private String userName;
private String pwd;
private Date signUpTime;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getPwd() {
return pwd;
}
public void setPwd(String pwd) {
this.pwd = pwd;
}
public Date getSignUpTime() {
return signUpTime;
}
public void setSignUpTime(Date signUpTime) {
this.signUpTime = signUpTime;
}
}
SUserMapper.java源码:
package com.springdemo.usermgr.vo;
public interface SUserMapper {
public int insertSUser(SUser user);
public SUser getSUser(String name);
}
config.xml的内容:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration PUBLIC
"-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<typeAliases>
<typeAlias alias="SUser" type="com.springdemo.usermgr.vo.SUser" />
</typeAliases>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC" />
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql://localhost:3306/test"/>
<property name="username" value="root" />
<property name="password" value="pass" />
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="SUser.xml" />
</mappers>
</configuration>
SUser.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.springdemo.usermgr.vo.SUserMapper">
<select id="selectSUser" parameterType="int" resultType="SUser">
select * from Suser where id = #{id}
</select>
<select id="getSUser" parameterType="String" resultType="SUser">
select * from Suser where username = #{name}
</select>
<insert id="insertSUser" parameterType="SUser">
<selectKey resultType="int" keyProperty="id">
SELECT LAST_INSERT_ID()
</selectKey>
insert into
suser(userName,pwd,signUpTime)values(#{userName},#{pwd},#{signUpTime})
</insert>
</mapper>
数据库使用mysql5.5版本,建表语句:
CREATE TABLE `suser` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`userName` varchar(255) DEFAULT NULL,
`pwd` varchar(255) DEFAULT NULL,
`signUpTime` date DEFAULT NULL,
PRIMARY KEY (`id`)
) ;
表中数据,无数据会报空值错误:
运行test.java的结果可能为:
com.springdemo.usermgr.vo.SUser@21ddc66e
2
2
插入前主键为:null
插入后主键为:5
- mybatis3.2.7事务查询和插入例子
- Hibernate工具类和插入查询数据例子
- oracle插入和查询日期型数据例子
- Mybatis实现批量插入和更新(Mybatis3.2源码修改)
- MyBatis3和Spring4基于接口编程的例子
- Mybatis3插入语句映射
- Mybatis3.2.6+oracle例子
- Struts2+Spring3+hibernate4 事务代理,查询,插入都可以,更新和删除不行。
- redis事务详解和例子
- 转账和事务的例子
- 插入和查询图片
- 查询和插入轨迹
- Mybatis3查询语句映射
- Mybatis3,Spring MVC 事务配置
- 分布式查询和分布式事务
- mysql查询事务和锁
- mybatis3.x 插入完整日期
- mybatis3.x 插入返回主键
- Unable to decode stream: java.io.FileNotFoundException: /android.graphics.Bitmap open failed: ENOEN
- zoj3813 线段树
- UVa10851 - 2D Hieroglyphs decoder(枚举)
- java自定义注解
- 安装java服务器图片处理程序
- mybatis3.2.7事务查询和插入例子
- jsoup抓取网页+详细讲解
- AChartEngine中散列图
- POJ 1325 Machine Schedule(二分匹配 最小点覆盖)
- PHP_Memcache函数详解
- Linux内核驱动之GPIO子系统(一)GPIO的使用
- Git手册
- Maven内置变量说明
- response.reset() 与response.resetbuffer使用场景