3、注册映射元文件,映射元文件用于说明实体类和表之间的对应关系,同时定义对应的SQL语句
4、定义表所对应的实体类和其对应的映射元文件
public class UserBean implements Serializable {映射元文件,名称没有规则,但是为了开发的方便,一般位置和实体类的位置一致,名称为"实体类名-mapper.xml"
5、编程调用
public class T1 {
public static void main(String[] args) throws IOException {
// 获取读取核心配置文件的输入流
InputStream is = Resources.getResourceAsStream("mybatis-config.xml");
//创建SqlSession对象的工厂
SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(is);
//创建SqlSession对象,SqlSession对象充当了实体管理器功能,提供了最基本的CRUD的方法
SqlSession session=factory.openSession();
UserBean user=new UserBean();
user.setUsername("yanjun");
user.setPassword("123456");
//调用映射元文件中所定义的
int len=session.insert("com.yan.entity.UserBean.insert",user);
//注意:一般持久层框架都默认事务回滚,如果需要修改生效,则需要手动提交事务
session.commit();
//由于session对象是Connection连接对象的浅封装,所以必须及时关闭 try/finally
session.close();
}
}
查删改的基本操作
按照id执行删除操作,请注意一般使用MyBatis之类的持久层框架时要求表中应该有主键
delete from t_users where id=#{id}
int len=session.delete("com.yan.entity.UserBean.delete",3L);
按照id加载对应的值bean(一行数据对应一个值bean)
UserBean user=session.selectOne("com.yan.entity.UserBean.load",4L);
System.out.println(user);
修改操作,按照id修改非id属性
update t_users set username=#{username},password=#{password} where id=#{id}
UserBean user=session.selectOne("com.yan.entity.UserBean.load",4L);
user.setUsername("zhangsan");
user.setPassword("lisi");
int len=session.update("com.yan.entity.UserBean.update",user);
System.out.println(len);