MyBatis增删改查
- 1.创建java项目
- 2.导入jar
- 3.创建如下文件
- 4.编写源码
- 5.运行结果
- 6.总结
数据库的增删改查是基础的操作,最基本的操作。
MyBatis如何实现数据库的增删改查呢?
1.创建java项目

2.导入jar
3.创建如下文件
4.编写源码
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();
}
}
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 + "]";
}
}
<?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>
# 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
<?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