mybatis Map的簡單使用


1 //第一新建一個TeacherMapper接口
2 public interface TeacherMapper {
3         //使用map修改
4         int updateTeacherMap(Map<String,Object> map);
5         //使用map插入
6         int addTeacherMap(Map<String,Object> map);
7 }
 1 //第二建立對象TeacherMapper對應的xml
 2 <?xml version="1.0" encoding="UTF-8" ?>
 3 <!DOCTYPE mapper
 4         PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
 5         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 6     //TeacherMapper對應的是上面接口的名字,通過這個名字 **xml** 於接口進行綁定
 7 <mapper namespace="com.rzk.mapper.TeacherMapper">
 8     <!--map修改-->
 9     <update id="updateTeacherMap" parameterType="map">
10        update mybatis.teacher set name=#{name} where id=#{id}
11     </update>
12     <!--map插入-->
13     <insert id="addTeacherMap" parameterType="map">
14         insert into mybatis.teacher(id, name) values (#{tid},#{tname})
15     </insert>
16 </mapper>
 1 //第三建pojo
 2 public class Teacher {
 3     private int id;
 4     private String name;
 5     public Teacher() {
 6     }
 7     public int getId() {
 8         return id;
 9     }
10     public void setId(int id) {
11         this.id = id;
12     }
13     public String getName() {
14         return name;
15     }
16     public void setName(String name) {
17         this.name = name;
18     }
19     public Teacher(int id, String name) {
20         this.id = id;
21         this.name = name;
22     }
23     @Override
24     public String toString() {
25         return "Teacher{" +
26                 "id=" + id +
27                 ", name='" + name + '\'' +
28                 '}';
29     }
30 }

 

 1 //第四mybatis建工具類
 2 public class MybatisUtils {
 3     private static SqlSessionFactory sqlSessionFactory;
 4     static{
 5         try {
 6             String resources="mybatis-config.xml";
 7             InputStream inputStream = Resources.getResourceAsStream(resources);
 8             sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
 9         } catch (IOException e) {
10             e.printStackTrace();
11         }
12     }
13     public static SqlSession getSqlSessionFactory() {
14         return sqlSessionFactory.openSession();
15     }
16 }

 

 1 //編寫config.xml
 2 <?xml version="1.0" encoding="UTF-8" ?>
 3 <!DOCTYPE configuration
 4         PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
 5         "http://mybatis.org/dtd/mybatis-3-config.dtd">
 6 <!--configguration核心配置文件-->
 7 <configuration>
 8     <!--導入外部配置文件-->
 9     <properties resource="db.properties"/>
10     <!--標准日志工廠實現-->
11     <!--   <settings>
12            <setting name="logImpl" value="STDOUT_LOGGING"/>
13        </settings>-->
14     <settings>
15         <setting name="logImpl" value="LOG4J"/>
16     </settings>
17     <!--給實體類起別名-->
18     <typeAliases>
19         <package name="com.rzk.pojo" />
20     </typeAliases>
21     <environments default="development">
22         <environment id="development">
23             <transactionManager type="JDBC"/>
24             <dataSource type="POOLED">
25                 <property name="driver" value="${driver}"/>
26                 <property name="url" value="${url}"/>
27                 <property name="username" value="${username}"/>
28                 <property name="password" value="${password}"/>
29             </dataSource>
30         </environment>
31     </environments>
32     <mappers>
33 <!--        <mapper resource="com/rzk/dao/StudentMapper.xml"/>-->
34         <mapper resource="com/rzk/mapper/TeacherMapper.xml"/>
35 <!--        <mapper class="com.rzk.mapper.Teacher"/>-->
36         <mapper class="com.rzk.mapper.StudentMapper"/>
37     </mappers>
38 </configuration>

 

 1 測試類
 2   /*map修改*/
 3     @Test
 4     public void updateTeacherMap(){
 5         SqlSession sqlSession = MybatisUtils.getSqlSessionFactory();
 6       //通過反射獲取接口里面的東西
 7         TeacherMapper mapper = sqlSession.getMapper(TeacherMapper.class);
 8         Map<String, Object> map = new HashMap<>();
 9         map.put("id",1);
10         map.put("name","精致的豬豬女孩");
11         //增刪改查都要進行提交
12         int i = mapper.updateTeacherMap(map);
13         if (i>0){
14             System.out.println("修改成功");
15             sqlSession.commit();
16         }
17         sqlSession.close();
18     }
19   /*map的插入*/
20     @Test
21     public void addTeacher1(){
22         SqlSession sqlSession = MybatisUtils.getSqlSessionFactory();
23         TeacherMapper mapper = sqlSession.getMapper(TeacherMapper.class);
24         Map<String, Object> map = new HashMap<String,Object>();
25         map.put("tid",3);
26         map.put("tname","李大強");
27         mapper.addTeacherMap(map);
28         sqlSession.commit();
29         sqlSession.close();
30     }
31 
32 底層使用的還是jdbc的東西

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM