mybatis使用步骤

    xiaoxiao2021-03-25  88

     

    jdbcInfo.properties

    jdbc.driverClassName=com.MySQL.jdbc.Driver jdbc.url=jdbc\:mysql\://localhost\:3306/studentdb jdbc.username=root jdbc.password=root

     

    Mybatis-Config.xml (这是mybatis总配置文件)

     

    <?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>

     <!-- 引入外部属性文件 -->  <properties resource="jdbcInfo.properties" />    <!-- 配置Java类全路径的别名 -->  <typeAliases>   <typeAlias alias="Student" type="com.xy.pojo.Student" />  </typeAliases>

     

     <environments default="development">   <environment id="development">    <transactionManager type="JDBC" />    <dataSource type="POOLED">     <property name="driver" value="${jdbc.driverClassName}" />     <property name="url" value="${jdbc.url}" />     <property name="username" value="${jdbc.username}" />     <property name="password" value="${jdbc.password}" />    </dataSource>

      </environment>  </environments>

     <mappers>   <mapper resource="StudentMapper.xml" />  </mappers> </configuration>

     

     

    StudentMapper.xml

     

    <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="mybatis.mapper">

     <!-- 使用已经配置的java类全路径的别名Student -->  <resultMap type="Student" id="studentMap">   <id property="id" column="id" />   <result property="sname" column="name" />   <result property="spwd" column="pwd" />   <result property="sbirth" column="birth" />  </resultMap>

     <!-- sql语句是针对表的操作,而resultMap说明了表和pojo的映射关系 -->  <select id="getAllStu" resultMap="studentMap">   select   id,name,pwd,birth from   tbl_student;  </select>

     <select id="getModelStu" parameterType="int" resultMap="studentMap">   select   id,name,pwd,birth from   tbl_student where id=#{id};  </select>

     <select id="getModelByName" parameterType="String" resultMap="studentMap">   select   id,name,pwd,birth from   tbl_student where name like "%"#{name}"%";

     </select>

     <insert id="insertStu" parameterType="Student">   insert into   tbl_student(name,pwd,birth)   values(#{sname},#{spwd},#{sbirth});  </insert>

     <delete id="deleteStu" parameterType="int">   delete from tbl_student   where id=#{id};  </delete>

     <update id="updateStu" parameterType="Student">   update   tbl_student   set   name=#{sname},pwd=#{spwd},birth=#{sbirth} where id=#{id};  </update> </mapper>

     

     

     

    StudentDao

    package com.xy.dao;

    import java.util.List;

    import com.xy.pojo.Student;

    public interface StudentDao {  public List<Student> getAllStu();  public Student getModel(int id);  public void add(Student student);  public void delete(int id);  public void update(Student student);  public List<Student> getModelByName(String name);  // 模糊查询 }

     

     

     

    BasicDaoImpl

    package com.xy.dao.impl;

    import java.io.IOException; import java.io.Reader;

    import org.apache.ibatis.io.Resources; import org.apache.ibatis.session.SqlSessionFactory; import org.apache.ibatis.session.SqlSessionFactoryBuilder;

    public class BasicDaoImpl {  private static SqlSessionFactory sqlSessionFactory = null;  static  {   String resource = "Mybatis-Config.xml";   try   {    Reader reader = Resources.getResourceAsReader(resource);    sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader);   }   catch (IOException e)   {    System.out.println("创建SqlSessionFactory实例失败");   }  }

     public static SqlSessionFactory getSqlSessionFactory()  {   return sqlSessionFactory;  } }

     

     

    StudentDaoImpl

    package com.xy.dao.impl;

    import java.util.List;

    import org.apache.ibatis.session.SqlSession;

    import com.xy.dao.StudentDao; import com.xy.pojo.Student;

    public class StudentDaoImpl implements StudentDao {

     // 添加学生  public void add(Student student)  {   SqlSession sqlSession = BasicDaoImpl.getSqlSessionFactory().openSession();   try   {    sqlSession.insert("mybatis.mapper.insertStu", student);    sqlSession.commit();   }   finally   {    sqlSession.close();   }  }

     // 删除学生  public void delete(int id)  {   SqlSession sqlSession = BasicDaoImpl.getSqlSessionFactory().openSession();   try   {    sqlSession.insert("mybatis.mapper.deleteStu", id);    sqlSession.commit();   }   finally   {    sqlSession.close();   }  }

     // 获取所有学生  public List<Student> getAllStu()  {   SqlSession sqlSession = BasicDaoImpl.getSqlSessionFactory().openSession();   List<Student> students = null;   try   {    students = (List<Student>) sqlSession.selectList("mybatis.mapper.getAllStu");   }   finally   {    sqlSession.close();   }

      return students;  }

     // 根据id获取学生  public Student getModel(int id)  {   SqlSession sqlSession = BasicDaoImpl.getSqlSessionFactory().openSession();   Student stu = null;   try   {    stu = (Student) sqlSession.selectOne("mybatis.mapper.getModelStu", id);   }   finally   {    sqlSession.close();   }

      return stu;  }

     // 更新学生  public void update(Student student)  {   SqlSession sqlSession = BasicDaoImpl.getSqlSessionFactory().openSession();   try   {    sqlSession.insert("mybatis.mapper.updateStu", student);    sqlSession.commit();   }   finally   {    sqlSession.close();   }  }

     // 根据名字模糊查询  public List<Student> getModelByName(String name)  {   SqlSession sqlSession = BasicDaoImpl.getSqlSessionFactory().openSession();   List<Student> students = null;   try   {    students=(List<Student>)sqlSession.selectList("mybatis.mapper.getModelByName", name);   }   finally   {    sqlSession.close();   }   return students;  }

    }

    }

     

    pojo

    package com.xy.pojo;

    import java.util.Date;

    public class Student {  private int id;  private String sname;  private String spwd;  private Date sbirth;

     public int getId()  {   return id;  }

     public void setId(int id)  {   this.id = id;  }

     public String getSname()  {   return sname;  }

     public void setSname(String sname)  {   this.sname = sname;  }

     public String getSpwd()  {   return spwd;  }

     public void setSpwd(String spwd)  {   this.spwd = spwd;  }

     public Date getSbirth()  {   return sbirth;  }

     public void setSbirth(Date sbirth)  {   this.sbirth = sbirth;  } }

     

     

    Test

    package com.xy.test;

    import java.util.List;

    import com.xy.dao.StudentDao; import com.xy.dao.impl.StudentDaoImpl; import com.xy.pojo.Student; import com.xy.util.DateUtil;

    public class Test {

     public static void main(String[] args)  {   StudentDao sdao = new StudentDaoImpl();

      // 查找所有学生   System.out.print("查找所有学生\n");   List<Student> stus = sdao.getAllStu();   for (int i = 0; i < stus.size(); i++)   {

       System.out.print(stus.get(i).getSname());    System.out.print(DateUtil.parseToString(stus.get(i).getSbirth(), DateUtil.yyyyMMdd));    System.out.print("\n");   }

      // 根据id获取学生   System.out.print("根据id获取学生\n");   Student stu = sdao.getModel(1);   System.out.print(stu.getSname());   System.out.print(DateUtil.parseToString(stu.getSbirth(), DateUtil.yyyyMMdd));   System.out.print("\n");

      // 添加学生   Student s = new Student();   s.setSname("xynew");   s.setSpwd("111");   String strBirth = "1990-02-28";   s.setSbirth(DateUtil.parseToDate(strBirth, DateUtil.yyyyMMdd));   sdao.add(s);   System.out.print("已经添加记录");   System.out.print("\n");

      // 删除记录   

      // 更新记录   Student stuUpdate = new Student();   stuUpdate.setId(6);   stuUpdate.setSname("xy333");   stuUpdate.setSpwd("111");   String strBirthUpdate = "1990-02-28";   stuUpdate.setSbirth(DateUtil.parseToDate(strBirthUpdate, DateUtil.yyyyMMdd));   sdao.update(stuUpdate);   System.out.print("已经更新记录");   System.out.print("\n");

      // 模糊查询   System.out.print("模糊查询\n");   List<Student> list = sdao.getModelByName("x");   for (int i = 0; i < list.size(); i++)   {

       System.out.print(list.get(i).getSname());    System.out.print(DateUtil.parseToString(list.get(i).getSbirth(), DateUtil.yyyyMMdd));    System.out.print("\n");   }  }

    }

    转载请注明原文地址: https://ju.6miu.com/read-17937.html

    最新回复(0)