Mybatis框架测试小小案例,内容有错,又有点异想天开。框架结构是对的,但是没有经过测试。纯手打,如有错请批评指正。
package com.openlab.wxl
public class UserBean{
private int id;
private String name;
private String password
private char sex;
private int age;
public String getName(){
return name;
}
public void setName(String name){
this.name=name;
}
......
}
<configuration>
<environments default="default">
<environment id="default">
<transactionManage type="JDBC"></transactionManage>
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/ssm"/>
<property name="username" value="root"/>
<property name="password" value="123"/>
</dataSource>
</environmetn>
</environments>
<mappers>
<mapper resource="a/b/c/mapper.xml" />
</mappers>
</configuration>
<?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.openlab.wxl.Mapper.UserMapper">
<insert id="addUser" parameterType="com.openlab.wxl.UserBean">
insert into User(name,password,sex,age)values(#{name},#{password},#{sex},#{age})
</insert>
<delete id="deleteById" parameterType="int">
delete from User where id=#{id}
</delete>
<updata id="upodata" parameterType="com.openlab.wxl.UserBean">
updata user set name=#{name},password=#{password},sex=#{sex},age=#{age} where id=#{id};
</updata>
<select id="selectByone" parameterType="Integer" resultType="com.openlab.wxl.UserBean">
select * from User where id=#{id}
</select>
<select id="selectAll" resultType="com.openlab.wxl.UserBean">
select * from User where id=#{id}
</select>
</mapper>
public class getSqlSession{
private Static SqlSession session;
static{
//读取mybatis.xml文件 使用Resources类对象 返回二进制流
InputStream is=Resources.getResourceAsStream("mybatis.xml");
//获取SqlSessionFactory 根据SqlSessionFactoryBuilder的build方法;参数InputStream 返回值 SqlSessionFactory
SqlSessionFactory factory=new SqlSessionFactoryBuilder().build(is);
session =factory.openSession();
}
//全局返回SqlSession对象 无参 返回值SqlSession
public static SqlSession getSqlSession(){
if(session!=null){
return Session;
}else{
InputStream is=Resources.getResourceAsStream("mybatis.xml");
SqlSessionFactory factory=new SqlSessionFactoryBuilder().build(is);
session =factory.openSession();
}
return session;
}
//关闭sqlSession 无返回值 无参数
public void closeSqlSession(){
if(session!=null){
session.close();
}
}
}
public interface UserDao(){
public int addUser(UserBean userBean);
public int deleteUser(int id);
public int updataUser(UserBean userBean);
public UserBean queryUserById(int id);
public List<UserBean> queryAll();
}
public Class UserDaoImp implements UserDao{
private static Logger LOG = Logger.getLogger(UserDaoImp.class);
//获取getSqlSession类中SqlSession对象
SqlSession session=getSqlSession.getSqlSession();
//声明UserBean
private UserBean user;
try{
public int addUser(UserBean userBean){
user=new userBean();
user.setName("www");
user.setPassword("456");
user.setAge(20);
user.setSex('男');
session.insert("com.openlab.wxl.UserMapper.xml",user);
}
public int deleteUser(int id){
return session.delete("com.openlab.wxl.UserMapper.xml",id)
}
public int updataUser(UserBean userBean){
user=new userBean();
user.setName("qqqq");
user.setPassword("123");
user.setAge(10);
session.update("com.openlab.wxl.UserMapper.xml",user);
}
public UserBean queryUserById(int id){
session.selectOne("com.openlab.wxl.UserMapper.xml",id);
}
public List<UserBean> queryAll(){
List<UserBean> list=session.selectList("com.openlab.wxl.userMapper.xml");
return list;
}
}catch(Exception e){
sesison.roollback();
LOG.error(e);
}finally{
session.commit();
if(session!=null)
session.close();
}
}
//测试类
public class Test{
UserDao userDao=new UserDaoImp();
@Test
public void test(){
if(userDao.Log!=null){
System.out.print("项目出错");
}
}
}
本文介绍了一个基于MyBatis框架的简单测试案例,详细展示了UserBean类的设计,包括属性和方法,以及配置文件中关于环境设置、数据源、事务管理和Mapper的定义。同时,提供了增删改查的基本操作实现。
2375

被折叠的 条评论
为什么被折叠?



