天天看点

MyBatis入门项目(实现增删改查)

MyBatis增删改查

  • ​​1.创建java项目​​
  • ​​2.导入jar​​
  • ​​3.创建如下文件​​
  • ​​4.编写源码​​
  • ​​5.运行结果​​
  • ​​6.总结​​

数据库的增删改查是基础的操作,最基本的操作。

MyBatis如何实现数据库的增删改查呢?

1.创建java项目

MyBatis入门项目(实现增删改查)

2.导入jar

MyBatis入门项目(实现增删改查)

3.创建如下文件

MyBatis入门项目(实现增删改查)

4.编写源码

MyBatis入门项目(实现增删改查)
package client;

import java.io.IOException;
import java.io.InputStream;
import java.text.SimpleDateFormat;
import java.util.Date;
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 domain.People;

public class Main {

  public static void main(String[] args) throws IOException {
    String resource = "resource/mybatis.xml";
    // 1.读取配置文件
    InputStream inputStream = Resources.getResourceAsStream(resource);
    // 2.根据配置文件构建SqlSessionFactory
    SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder()
        .build(inputStream);
    // 3.通过SqlSessionFactory创建SqlSession
    SqlSession sqlSession = sqlSessionFactory.openSession();
    // 4.执行mapper中的sql,返回结果
    People people = sqlSession.selectOne(
        "mapper.PeopleMapper.selectPeopleById", Long.valueOf(101));
    System.out.println(people);
    System.out.println();
    
    List<People> peoples = sqlSession.selectList(
        "mapper.PeopleMapper.selectPeopleByName", "update");
    for(People p : peoples){
      System.out.println(p);
    }
    System.out.println();
    
    List<People> peoplesAge = sqlSession.selectList(
        "mapper.PeopleMapper.selectPeopleByAge", 28);
    for(People p : peoplesAge){
      System.out.println(p);
    }
    System.out.println();
    
    List<People> peoplesSex = sqlSession.selectList(
        "mapper.PeopleMapper.selectPeopleBySex", 0);
    for(People pp : peoplesSex){
      System.out.println(pp);
    }
    System.out.println();
    
    People addPeople = new People();
    addPeople.setName(new SimpleDateFormat("yyyy-mm-dd hh:mm:ss")
        .format(new Date()));
    addPeople.setAge((int)Math.random()*100);
    addPeople.setSex((int)(Math.random()*10)/10);
    System.out.println(addPeople);
    System.out.println(sqlSession.insert("mapper.PeopleMapper.addPeople",
        addPeople));
    System.out.println();

    people.setName(people.getName()+"updateMyBatis");
    System.out.println(people);
    System.out.println(sqlSession.update("mapper.PeopleMapper.updatePeople", people));
    sqlSession.commit();
    
    System.out.println(sqlSession.delete("mapper.PeopleMapper.deletePeopleById", 93L));
    sqlSession.commit();
    
    sqlSession.close();
  }

}
      
MyBatis入门项目(实现增删改查)
package domain;

import java.io.Serializable;

public class People implements Serializable{

  /**
   * 
   */
  private static final long serialVersionUID = -3270893239281340723L;

  private Long id;
  
  private String name;
  
  private Integer age;
  
  private Integer sex;

  public Long getId() {
    return id;
  }

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

  public String getName() {
    return name;
  }

  public void setName(String name) {
    this.name = name;
  }

  public Integer getAge() {
    return age;
  }

  public void setAge(Integer age) {
    this.age = age;
  }

  public Integer getSex() {
    return sex;
  }

  public void setSex(Integer sex) {
    this.sex = sex;
  }

  @Override
  public String toString() {
    return "people [id=" + this.id + ",name=" + this.name + ",age="
        + this.age + ",sex=" + this.sex + "]";
  }
  
  
}
      
MyBatis入门项目(实现增删改查)
<?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="mapper.PeopleMapper">
  <select id="selectPeopleById" resultType="domain.People"
    parameterType="Long">
      select * from people where id = #{id}
  </select>
  <select id="selectPeopleByName" resultType="domain.People"
    parameterType="String">
    select * from people where name like '%${value}%'   
  </select>
  <select id="selectPeopleByAge" resultType="domain.People"
    parameterType="Integer">
      select * from people where age=#{age}
  </select> 
  <select id="selectPeopleBySex" resultType="domain.People"
    parameterType="Integer">
      select * from people where sex=#{sex}
  </select>
  <insert id="addPeople" parameterType="domain.People">
      insert into people(id,name,age,sex) 
      values(SEQ_PEOPLE.NEXTVAL,#{name},#{age},#{sex})
  </insert>
  <update id="updatePeople" parameterType="domain.People">
      update people set name=#{name},age=#{age},sex=#{sex} where id=#{id}
  </update>
  <delete id="deletePeopleById" parameterType="Long">
      delete people p where p.id=#{id}
  </delete>
</mapper>      
MyBatis入门项目(实现增删改查)
# Global logging configuration
log4j.rootLogger=ERROR, stdout
# MyBatis logging configuration...
log4j.logger.org.mybatis.example.BlogMapper=TRACE
# Console output...
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n
log4j.logger.domain=DEBUG      
driver=oracle.jdbc.driver.OracleDriver
url=jdbc:oracle:thin:@127.0.0.1:1521:oracle
username=study
password=study      
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="property/ojdbc.properties"></properties>
  <environments default="oracle">
    <environment id="oracle">
      <transactionManager type="JDBC"/>
      <dataSource type="POOLED">
        <property name="driver" value="${driver}"/>
        <property name="url" value="${url}"/>
        <property name="username" value="${username}"/>
        <property name="password" value="${password}"/>
      </dataSource>
    </environment>
  </environments>
  <mappers>
    <mapper resource="mapper/PeopleMapper.xml"/>
  </mappers>
</configuration>      

5.运行结果

log4j:WARN No appenders could be found for logger (org.apache.ibatis.logging.LogFactory).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
people [id=101,name=aPeopleupdateMyBatis,age=53,sex=0]

people [id=103,name=aPeopleupdate,age=53,sex=0]
people [id=104,name=bPeopleupdate,age=62,sex=1]
people [id=121,name=aPeopleupdate,age=28,sex=0]
people [id=122,name=bPeopleupdate,age=37,sex=1]
people [id=123,name=aPeopleupdate,age=28,sex=0]
people [id=124,name=bPeopleupdate,age=37,sex=1]
people [id=125,name=aPeopleupdate,age=28,sex=0]
people [id=126,name=bPeopleupdate,age=37,sex=1]
people [id=127,name=aPeopleupdate,age=28,sex=0]
people [id=128,name=bPeopleupdate,age=37,sex=1]
people [id=129,name=aPeopleupdate,age=28,sex=0]
people [id=130,name=bPeopleupdate,age=37,sex=1]
people [id=105,name=aPeopleupdate,age=53,sex=0]
people [id=101,name=aPeopleupdateMyBatis,age=53,sex=0]
people [id=107,name=aPeopleupdate,age=53,sex=0]
people [id=109,name=aPeopleupdate,age=53,sex=0]
people [id=110,name=bPeopleupdate,age=62,sex=1]
people [id=111,name=aPeopleupdate,age=48,sex=0]
people [id=112,name=bPeopleupdate,age=57,sex=1]
people [id=113,name=aPeopleupdate,age=43,sex=0]
people [id=114,name=bPeopleupdate,age=52,sex=1]
people [id=115,name=aPeopleupdate,age=38,sex=0]
people [id=116,name=bPeopleupdate,age=47,sex=1]
people [id=117,name=aPeopleupdate,age=33,sex=0]
people [id=118,name=bPeopleupdate,age=42,sex=1]
people [id=119,name=aPeopleupdate,age=28,sex=0]
people [id=120,name=bPeopleupdate,age=37,sex=1]

people [id=121,name=aPeopleupdate,age=28,sex=0]
people [id=123,name=aPeopleupdate,age=28,sex=0]
people [id=125,name=aPeopleupdate,age=28,sex=0]
people [id=127,name=aPeopleupdate,age=28,sex=0]
people [id=129,name=aPeopleupdate,age=28,sex=0]
people [id=119,name=aPeopleupdate,age=28,sex=0]

people [id=103,name=aPeopleupdate,age=53,sex=0]
people [id=121,name=aPeopleupdate,age=28,sex=0]
people [id=123,name=aPeopleupdate,age=28,sex=0]
people [id=125,name=aPeopleupdate,age=28,sex=0]
people [id=127,name=aPeopleupdate,age=28,sex=0]
people [id=129,name=aPeopleupdate,age=28,sex=0]
people [id=135,name=2019-34-27 07:34:34,age=0,sex=0]
people [id=105,name=aPeopleupdate,age=53,sex=0]
people [id=101,name=aPeopleupdateMyBatis,age=53,sex=0]
people [id=107,name=aPeopleupdate,age=53,sex=0]
people [id=109,name=aPeopleupdate,age=53,sex=0]
people [id=111,name=aPeopleupdate,age=48,sex=0]
people [id=113,name=aPeopleupdate,age=43,sex=0]
people [id=115,name=aPeopleupdate,age=38,sex=0]
people [id=117,name=aPeopleupdate,age=33,sex=0]
people [id=119,name=aPeopleupdate,age=28,sex=0]

people [id=null,name=2019-38-27 07:38:09,age=0,sex=0]
1

people [id=101,name=aPeopleupdateMyBatisupdateMyBatis,age=53,sex=0]
1
1
      

6.总结

继续阅读