//测试方法 测试一下 Userinfo 实体类的使用
@org.junit.Test
public void testUserinfo(){
//假如信息是从网上获取的
Userinfo userinfo = new Userinfo("neusoft", "123");
//获取类中的信息 get
System.out.println(userinfo.getUsername());
System.out.println(userinfo.getPwd());
}
//乱码转换
@org.junit.Test
public void charEncoding() throws UnsupportedEncodingException{
Userinfo userinfo = new Userinfo("东软", "123");
System.out.println("转换之前的信息:");
System.out.println(userinfo.getUsername());
String str = userinfo.getUsername();
str = new String(str.getBytes("gb2312"),"utf-8");
System.out.println("gb2312->utf-8 转换:");
System.out.println(str);
str = new String(str.getBytes("iso-8859-1"),"utf-8");
System.out.println("iso-8859-1 -> utf-8 转换:");
System.out.println(str);
}
public class TestMybatis {
SqlSessionFactory sqlSessionFactory;
@Before //初始化方法
public void initFactory() throws IOException{
//资源地址
String resource = "sqlMapConfig.xml";
//读取资源
InputStream inputStream
= Resources.getResourceAsStream(resource);
sqlSessionFactory =
new SqlSessionFactoryBuilder().build(inputStream);
}
//测试一下 查询全部信息的方法
@Test
public void testListAll(){
SqlSession session = sqlSessionFactory.openSession();
//session.selectList("") 这里面的参数,需要你具体制定是哪个方法
//这个参数,需要读取mapper(本例的mapper指的是Userinfo.xml文件 )
//文件的 命名空间 + 方法名
//調用方法的時候 注意一下 命名空間是什麼 还有就是该命名空间下方法名的大小写(id的大小写)
List<Userinfo> users
= session.selectList("neusoft.listAll");
System.out.println(users.size());
}
@Test //根据userid 查询用户信息
public void testgetOne(){
SqlSession session = sqlSessionFactory.openSession();
Userinfo userinfo = session.selectOne("neusoft.getById",1);
System.out.println(userinfo.toString());
}
@Test //新增用户
public void addUser(){
Userinfo userinfo = new Userinfo();
userinfo.setUserid(10);
userinfo.setUsername("花花");
userinfo.setPwd("911");
SqlSession session = sqlSessionFactory.openSession();
//插入适用 Insert 方法 修改使用update 删除适用 delete
int count = session.insert("neusoft.addUser", userinfo);
//session.update(arg0, arg1);
//session.delete(arg0, arg1);
session.commit();
System.out.println(count);
}
}