• 4、使用注解完成全套增删改查


    1.创建javaweb项目MyBaits_Part4_@Base

    2.在项目的WebRoot下的WEB-INF下的lib包下添加如下jar文件

    mybatis-3.2.3.jar

    ojdbc14.jar

    3.在src下的配置链接数据库的属性文件jdbc.properties

    1 driver=oracle.jdbc.driver.OracleDriver
    2 url=jdbc:oracle:thin:@127.0.0.1:1521:orcl
    3 username=holly
    4 password=sys
    jdbc.properties

    4.在src下创建mybatisConfig.xml主配置文件

     1 <?xml version="1.0" encoding="UTF-8"?>
     2 <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd" >
     3 <configuration>
     4 
     5   <!-- 1.引用jdbc链接数据库的属性文件 -->
     6   <properties resource="jdbc.properties"/>
     7   
     8   <!-- 2.类路径的别名 -->
     9   <typeAliases>
    10     <typeAlias type="com.entity.Teacher" alias="Teacher"/>
    11   </typeAliases>
    12   
    13   <!-- 3.事务和数据源的配置 -->
    14   <environments default="development">
    15     <environment id="development">
    16       <transactionManager type="jdbc"/>
    17       <dataSource type="POOLED">
    18         <property name="driver" value="${driver}"/>
    19         <property name="url" value="${url}"/>
    20         <property name="username" value="${username}"/>
    21         <property name="password" value="${password}"/>
    22       </dataSource>
    23     </environment>
    24   </environments>
    25   <!-- 4.注册映射文件 -->
    26   <mappers>
    27   <!-- 有映射文件时resource属性=映射文件的路径 -->
    28   <!-- 使用注解没有映射文件时class属性=映射文件的路径 -->
    29   <!-- 如果低版本dtd,使用注解,这里还是配置resouce=映射xml文件,
    30   但是映射文件的mapper节点上只写一个namespace=映射接口的全路径
    31   <mapper resource="com/mapper/TeacherMapper.xml"/>
    32    -->
    33     <!-- 如果高版本dtd,使用注解,这里如下配置,不需要写映射的xml文件"/>
    34    -->
    35   <mapper class="com.mapper.TeacherMapper"/>
    36    
    37   </mappers>
    38   
    39 </configuration>
    mybatisConfig.xml

    5.在src下的com.entity包下创建Teacher.java

     1 package com.entity;
     2 
     3 public class Teacher {
     4     private int tid;
     5     private String tname;
     6     
     7     public Teacher() {
     8     }
     9     public Teacher(int tid, String tname) {
    10         this.tid = tid;
    11         this.tname = tname;
    12     }
    13     public int getTid() {
    14         return tid;
    15     }
    16     public void setTid(int tid) {
    17         this.tid = tid;
    18     }
    19     public String getTname() {
    20         return tname;
    21     }
    22     public void setTname(String tname) {
    23         this.tname = tname;
    24     }
    25     @Override
    26     public String toString() {
    27         return "Teacher [tid=" + tid + ", tname=" + tname + "]";
    28     }
    29     
    30 
    31 }
    Teacher.java

    6.在src下的com.util包下创建MybatisUtil.java

     1 package com.util;
     2 
     3 import java.io.IOException;
     4 import java.io.Reader;
     5 
     6 import org.apache.ibatis.io.Resources;
     7 import org.apache.ibatis.session.SqlSession;
     8 import org.apache.ibatis.session.SqlSessionFactory;
     9 import org.apache.ibatis.session.SqlSessionFactoryBuilder;
    10 
    11 public class MyBaitsUtil {
    12     private static SqlSessionFactory sqlSessionFactory;
    13     
    14     static{
    15         try {
    16             Reader reader=Resources.getResourceAsReader("configuration.xml");
    17             sqlSessionFactory=new SqlSessionFactoryBuilder().build(reader); 
    18         } catch (IOException e) {
    19             e.printStackTrace();
    20         }
    21         
    22     }
    23     /**
    24      * 
    25      * @param isCommit true表示执行完操作提交事务,false表示执行完不自动提交事务
    26      * @return
    27      */
    28     public static SqlSession getSqlSession(boolean isCommit){
    29         return sqlSessionFactory.openSession(isCommit);
    30     }
    31 
    32 }
    MybatisUtil.java

    7.在src下的com.mapper包下创建TeacherMapper.java

     1 package com.mapper;
     2 
     3 import java.util.List;
     4 
     5 import org.apache.ibatis.annotations.Delete;
     6 import org.apache.ibatis.annotations.Insert;
     7 import org.apache.ibatis.annotations.Select;
     8 import org.apache.ibatis.annotations.Update;
     9 
    10 import com.entity.Teacher;
    11 
    12 public interface TeacherMapper {
    13     @Insert("insert into teacher values(seq_teacher.nextval,#{tname}")
    14     int saveTeacher(Teacher teacher);
    15     
    16     @Select("select * from teacher")
    17     List<Teacher> findAll();
    18     
    19     @Select("select * from teacher where tid=#{tid}")
    20     Teacher findById(int id);
    21     
    22     @Update("update teacher set tname=#{tname} where tid=#{tid}")
    23     int updateTeacher(Teacher teacher);
    24     
    25     @Delete("delete from teacher where tid=#{tid}")
    26     int deleteTeacher(int id);
    27 }
    TeacherMapper.java

    8.在src下的com.test包下创建Test.java

     1 package com.test;
     2 
     3 import java.util.List;
     4 
     5 import org.apache.ibatis.session.SqlSession;
     6 
     7 import com.entity.Teacher;
     8 import com.mapper.TeacherMapper;
     9 import com.util.MyBaitsUtil;
    10 
    11 public class Test {
    12 
    13     /**
    14      * @param args
    15      */
    16     public static void main(String[] args) {
    17         SqlSession sqlSession=MyBaitsUtil.getSqlSession(false);
    18         
    19         TeacherMapper mapper=sqlSession.getMapper(TeacherMapper.class);
    20         List<Teacher> list=mapper.findAll();
    21         for (Teacher teacher : list) {
    22             System.out.println(teacher);
    23         }
    24         sqlSession.close();
    25     
    26     }
    27 
    28 }
    Test.java
  • 相关阅读:
    【LeetCode】306. Additive Number
    【LeetCode】49. Group Anagrams
    【LeetCode】233. Number of Digit One
    【LeetCode】73. Set Matrix Zeroes
    【LeetCode】284. Peeking Iterator
    【LeetCode】241. Different Ways to Add Parentheses
    【LeetCode】289. Game of Life
    新版Java为什么要修改substring的实现
    计算机中整数加法满足结合律吗
    双色球中奖概率分析
  • 原文地址:https://www.cnblogs.com/holly8/p/5796801.html
Copyright © 2020-2023  润新知