Mybatis註解-通過註解方式實現CRUD
阿新 • • 發佈:2019-02-13
- 把XML方式的CRUD修改為註解方式
本知識點把 XML方式的CRUD 修改為註解方式 - Mapper介面
新增加介面CategoryMapper ,並在介面中宣告的方法上,加上註解
對比配置檔案Category.xml,其實就是把SQL語句從XML挪到了註解上來package com.how2java.mapper; import java.util.List; import org.apache.ibatis.annotations.Delete; import org.apache.ibatis.annotations.Insert; import org.apache.ibatis.annotations.Select; import org.apache.ibatis.annotations.Update; import com.how2java.pojo.Category; public interface CategoryMapper { @Insert(" insert into category_ ( name ) values (#{name}) ") public int add(Category category); @Delete(" delete from category_ where id= #{id} ") public void delete(int id); @Select("select * from category_ where id= #{id} ") public Category get(int id); @Update("update category_ set name=#{name} where id=#{id} ") public int update(Category category); @Select(" select * from category_ ") public List<Category> list(); }
- mybatis-config.xml
在第22行,增加對CategoryMapper對映,原來的Category.xml 是否保留隨意<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration> <typeAliases> <package name="com.how2java.pojo"/> </typeAliases> <environments default="development"> <environment id="development"> <transactionManager type="JDBC"/> <dataSource type="POOLED"> <property name="driver" value="com.mysql.jdbc.Driver"/> <property name="url" value="jdbc:mysql://localhost:3306/how2java?characterEncoding=UTF-8"/> <property name="username" value="root"/> <property name="password" value="admin"/> </dataSource> </environment> </environments> <mappers> <mapper resource="com/how2java/pojo/Category.xml"/> <mapper class="com.how2java.mapper.CategoryMapper"/> </mappers> </configuration>
- 測試類
進行CRUD的經典操作,來測試package com.how2java; import java.io.IOException; import java.io.InputStream; import java.util.List; import org.apache.ibatis.io.Resources; import org.apache.ibatis.session.SqlSession; import org.apache.ibatis.session.SqlSessionFactory; import org.apache.ibatis.session.SqlSessionFactoryBuilder; import com.how2java.mapper.CategoryMapper; import com.how2java.pojo.Category; public class TestMybatis { public static void main(String[] args) throws IOException { String resource = "mybatis-config.xml"; InputStream inputStream = Resources.getResourceAsStream(resource); SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream); SqlSession session = sqlSessionFactory.openSession(); CategoryMapper mapper = session.getMapper(CategoryMapper.class); // add(mapper); // delete(mapper); // get(mapper); // update(mapper); listAll(mapper); session.commit(); session.close(); } private static void update(CategoryMapper mapper) { Category c= mapper.get(8); c.setName("修改了的Category名稱"); mapper.update(c); listAll(mapper); } private static void get(CategoryMapper mapper) { Category c= mapper.get(8); System.out.println(c.getName()); } private static void delete(CategoryMapper mapper) { mapper.delete(2); listAll(mapper); } private static void add(CategoryMapper mapper) { Category c = new Category(); c.setName("新增加的Category"); mapper.add(c); listAll(mapper); } private static void listAll(CategoryMapper mapper) { List<Category> cs = mapper.list(); for (Category c : cs) { System.out.println(c.getName()); } } }