刚接触mybatis,脑袋混乱,隔了一天重新做,稍微有点头绪,所以整理一下
首先搭建项目,这里web和java项目都可以
第一步:导包
第二步:梳理项目结构
log4j 开发阶段建议写上,方便找错
第三步:具体代码实现
Configuration.xml 从XML中构建SqlSessionFactory
可以在mybatis jar包中找到config.xml 借用模板
接口类:
实体类的xml文件
注意 resuleMap里面jdbcType是基本数据类型的话一定要 封装类
resultType或者resultMap 是视有无返回值的
测试类
public class MybatisTest {
private Reader reader;
private SqlSessionFactory sessionFactory;
@Before
public void init(){
try {
reader = Resources.getResourceAsReader("Configuration.xml");
sessionFactory = new SqlSessionFactoryBuilder().build(reader);
} catch (IOException e) {
e.printStackTrace();
}
}
@Test
public void test1(){
SqlSession session = sessionFactory.openSession();
//User user = (User)session.selectOne("com.lovo.dao.UserDao.findUserByid",1);
//用接口来做
UserDao ud = session.getMapper(UserDao.class);
User user = ud.findUserById(1);
System.out.println(user);
session.close();
}
@Test
public void test2(){
SqlSession session = sessionFactory.openSession();
//用接口来做
UserDao ud = session.getMapper(UserDao.class);
List<User> user = ud.findUser("jack");
System.out.println(user);
session.close();
}
@Test
public void add(){
SqlSession session = sessionFactory.openSession();
//用接口来做
UserDao ud = session.getMapper(UserDao.class);
User u = new User();
u.setUserName("李四");
u.setUserAge(25);
u.setUserAddress("重庆南岸");
ud.addUser(u);
session.commit();
session.close();
}
@Test
public void del(){
SqlSession session = sessionFactory.openSession();
//用接口来做
UserDao ud = session.getMapper(UserDao.class);
ud.delUserById(3);
session.commit();
session.close();
}
@Test
public void update(){
SqlSession session = sessionFactory.openSession();
//用接口来做
UserDao ud = session.getMapper(UserDao.class);
User u = ud.findUserById(5);
u.setUserName("jay");
ud.update(u);
session.commit();
session.close();
}
}
private SqlSessionFactory sessionFactory;
@Before
public void init(){
try {
reader = Resources.getResourceAsReader("Configuration.xml");
sessionFactory = new SqlSessionFactoryBuilder().build(reader);
} catch (IOException e) {
e.printStackTrace();
}
}
@Test
public void test1(){
SqlSession session = sessionFactory.openSession();
//User user = (User)session.selectOne("com.lovo.dao.UserDao.findUserByid",1);
//用接口来做
UserDao ud = session.getMapper(UserDao.class);
User user = ud.findUserById(1);
System.out.println(user);
session.close();
}
@Test
public void test2(){
SqlSession session = sessionFactory.openSession();
//用接口来做
UserDao ud = session.getMapper(UserDao.class);
List<User> user = ud.findUser("jack");
System.out.println(user);
session.close();
}
@Test
public void add(){
SqlSession session = sessionFactory.openSession();
//用接口来做
UserDao ud = session.getMapper(UserDao.class);
User u = new User();
u.setUserName("李四");
u.setUserAge(25);
u.setUserAddress("重庆南岸");
ud.addUser(u);
session.commit();
session.close();
}
@Test
public void del(){
SqlSession session = sessionFactory.openSession();
//用接口来做
UserDao ud = session.getMapper(UserDao.class);
ud.delUserById(3);
session.commit();
session.close();
}
@Test
public void update(){
SqlSession session = sessionFactory.openSession();
//用接口来做
UserDao ud = session.getMapper(UserDao.class);
User u = ud.findUserById(5);
u.setUserName("jay");
ud.update(u);
session.commit();
session.close();
}
}
新手总结,有不足之处,还望海涵,不吝赐教