原理示意图
一)创建数据库
二)创建表
三)导入数据
四)创建java项目!!
五)导入jar包
在项目中新建lib目录(文件夹),解压后复制到lib下
向整个java项目中导入包,右键项目,properties,在java build path中选择add external jars,导入这两个包
六)创建实体类
准备实体类Category,用于映射表category_
七)在src目录下创建mybatis的主配置文件mybatis-config.xml
其作用主要是提供连接数据库用的驱动,数据库名称,编码方式,账号密码以及别名,自动扫描com.how2java.pojo下的类型。
使得在后续配置文件Category.xml中使用resultType的时候,可以直接使用Category,而不必写全com.how2java.pojo.Category
映射Category.xml
<mappers>
<mapper resource="com/how2java/pojo/Category.xml"/>
</mappers>
八)配置文件 Category.xml
在包com.how2java.pojo下,新建文件Category.xml
namespace="com.how2java.pojo"
表示命名空间是com.how2java.pojo,在后续调用sql语句的时候,会用到它
里面定义了一条sql语句
select * from category_
这条sql语句用id: listCategory 进行标示以供后续代码调用。resultType="Category" 表示返回的数据和Category关联起来,这里本应该使用的是 com.how2java.pojo.Category, 但是因为上一步配置了别名,所以直接使用Category就行了
九)建一个TestMybatis类
根据配置文件mybatis-config.xml得到sqlSessionFactory 。
String resource = "mybatis-config.xml";
InputStream inputStream = Resources.getResourceAsStream(resource);
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
然后再根据sqlSessionFactory 得到session
SqlSession session=sqlSessionFactory.openSession();
最后通过session的selectList方法,调用sql语句listCategory。listCategory这个就是在配置文件Category.xml中那条sql语句设置的id。
执行完毕之后,得到一个Category集合,遍历即可看到数据。
List<Category> cs = session.selectList("listCategory");
for (Category c : cs) {
System.out.println(c.getName());
}
在此基础上 ,进行进一步的数据库增删查改操作
一)首先一次性修改配置文件Category.xml,提供CRUD对应的sql语句。
二)增加 操作
通过session.insert调用addCategory对应的SQL语句
Category c = new Category();
c.setName("新增加的Category");
session.insert("addCategory",c);
c.setName给c设置一个name属性值新增加的Category
addCategory对应的插入sql语句,#{name}会自动获取c对象的name属性值
<insert id="addCategory" parameterType="Category" >
insert into category_ ( name ) values (#{name})
</insert>
运行后结果如图:
三)删除
删除id=6的对象
Category c = new Category();
c.setId(6);
session.delete("deleteCategory",c);
deleteCategory对应删除的sql语句
<delete id="deleteCategory" parameterType="Category" >
delete from category_ where id= #{id}
</delete>
四)获取
通过session.selectOne获取id=3的记录
Category c= session.selectOne("getCategory",3);
getCategory对应的sql语句:
<select id="getCategory" parameterType="_int" resultType="Category">
select * from category_ where id= #{id}
</select>
五)修改
通过session.update进行修改
session.update("updateCategory",c);
updateCategory对应的sql语句:
<update id="updateCategory" parameterType="Category" >
update category_ set name=#{name} where id=#{id}
</update>