Mybatis单表增删改查

1.创建数据库student
在这里插入图片描述
2.创建项目chapter01,并导入jar包
在这里插入图片描述
3.项目结构如下:
在这里插入图片描述
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="student">
	<select id="findStudentBySid" parameterType="Integer"
		resultType="com.qfedu.pojo.Student">
		select * from Student where sid = #{sid}
	</select>
	<select id="findStudentBySname" parameterType="String"
		resultType="com.qfedu.pojo.Student">
		select * from student where sname like '%${value}%'
	</select>
	<insert id="addStudent" parameterType="com.qfedu.pojo.Student">
		insert into student(sname,age,course)values(#{sname},#{age},#{course})
	</insert>
	<update id="updateStudent"
		parameterType="com.qfedu.pojo.Student">
		update student set sname
		=#{sname},course = #{course} where sid = #{sid}
	</update>
	<delete id="deleteStudent" parameterType="Integer">
		delete from  student where sid=#{sid}
	</delete>
	
</mapper>

student.java

package com.qfedu.pojo;

public class Student {
	private int sid;
	private String sname;
	private String age;
	private String course;

	public Student() {
		super();
	}

	public Student(int sid, String sname, String age, String course) {
		super();
		this.sid = sid;
		this.sname = sname;
		this.age = age;
		this.course = course;
	}

	public int getSid() {
		return sid;
	}

	public void setSid(int sid) {
		this.sid = sid;
	}

	public String getSname() {
		return sname;
	}

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

	public String getAge() {
		return age;
	}

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

	public String getCourse() {
		return course;
	}

	public void setCourse(String course) {
		this.course = course;
	}

	@Override
	public String toString() {
		return "Student [sid=" + sid + ", sname=" + sname + ", " + "age=" + age + ", " + "course=" + course + "]";
	}
}

TestAdd.java

package com.qfedu.test;

import java.io.*;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.*;
import com.qfedu.pojo.Student;

public class TestAdd {
	public static void main(String[] args) {
		// 读取配置文件
		String resource = "mybatis-config.xml";
		try {
			InputStream in = Resources.getResourceAsStream(resource);
			// 创建SQLSessionFactory对象
			SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(in);
			// 创建SqlSession对象
			SqlSession sqlSession = factory.openSession();
			Student student = new Student();
			student.setSname("ZhouBa");
			student.setAge("21");
			student.setCourse("Java");
			// 调用SqlSession对象的insert()方法执行插入
			int result = sqlSession.insert("student.addStudent", student);
			if (result > 0) {
				System.out.println("成功插入" + result + "条数据");
			} else {
				System.out.println("插入操作失败");
			}
			// 提交事务
			sqlSession.commit();
			// 关闭SqlSession
			sqlSession.close();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
}

TestDelete.java

package com.qfedu.test;

import java.io.*;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.*;

public class TestDelete {
	public static void main(String[] args) {
		// 读取配置文件
		String resource = "mybatis-config.xml";
		try {
			InputStream in = Resources.getResourceAsStream(resource);
			// 创建SQLSessionFactory对象
			SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(in);
			// 创建SqlSession对象
			SqlSession sqlSession = factory.openSession();
			// 调用SqlSession对象的delete()方法执行删除
			int result = sqlSession.delete("student.deleteStudent", 7);
			if (result > 0) {
				System.out.println("成功删除" + result + "条数据");
			} else {
				System.out.println("删除操作失败");
			}
			// 提交事务
			sqlSession.commit();
			// 关闭SqlSession
			sqlSession.close();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
}

TestFindBySid.java

package com.qfedu.test;

import java.io.*;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.*;
import com.qfedu.pojo.Student;

public class TestFindBySid {
	public static void main(String[] args) {
		// 读取配置文件
		String resource = "mybatis-config.xml";
		try {
			InputStream in = Resources.getResourceAsStream(resource);
			// 创建SQLSessionFactory对象
			SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(in);
			// 创建SqlSession对象
			SqlSession sqlSession = factory.openSession();
			// 调用SqlSession对象的selectOne()方法执行查询
			Student student = sqlSession.selectOne("student.findStudentBySid", 1);
			System.out.println(student.toString());
			// 关闭SqlSession
			sqlSession.close();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
}

TestFindBySname.java

package com.qfedu.test;

import java.io.*;
import java.util.List;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.*;
import com.qfedu.pojo.Student;

public class TestFindBySname {
	public static void main(String[] args) {
		// 读取配置文件
		String resource = "mybatis-config.xml";
		try {
			InputStream in = Resources.getResourceAsStream(resource);
			// 创建SQLSessionFactory对象
			SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(in);
			// 创建SqlSession对象
			SqlSession sqlSession = factory.openSession();
			// 调用SqlSession的selectList()方法执行查询
			List<Student> selectList = sqlSession.selectList("student.findStudentBySname", "ZhangSan");
			for (Student student : selectList) {
				System.out.println(student.toString());
			}
			// 关闭SqlSession
			sqlSession.close();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
}

TestUpdate.java

package com.qfedu.test;

import java.io.*;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.*;
import com.qfedu.pojo.Student;

public class TestUpdate {
	public static void main(String[] args) {
		// 读取配置文件
		String resource = "mybatis-config.xml";
		try {
			InputStream in = Resources.getResourceAsStream(resource);
			// 创建SQLSessionFactory对象
			SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(in);
			// 创建SqlSession对象
			SqlSession sqlSession = factory.openSession();
			Student student = new Student();
			student.setSid(3);
			student.setSname("WuJiu");
			student.setCourse("Python");
			// 调用SqlSession对象的update()方法执行更新
			int result = sqlSession.update("student.updateStudent", student);
			if (result > 0) {
				System.out.println("成功更新" + result + "条数据");
			} else {
				System.out.println("更新操作失败");
			}
			// 提交事务
			sqlSession.commit();
			// 关闭SqlSession
			sqlSession.close();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
}

mybatis-config.xml

<?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>
	<!--配置环境 -->
	<environments default="mysql">
		<environment id="mysql">
			<transactionManager type="JDBC" />
			<dataSource type="POOLED">
				<property name="driver" value="com.mysql.jdbc.Driver" />
				<property name="url"
					value="jdbc:mysql://localhost:3306/chapter01" />
				<property name="username" value="root" />
				<property name="password" value="012345" />
			</dataSource>
		</environment>
	</environments>
	<!-- 配置映射文件的位置 -->
	<mappers>
		<mapper resource="com/qfedu/mapper/StudentMapper.xml" />
	</mappers>
</configuration>
  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Mybatis框架对于单表增删改查操作非常方便。在Mybatis中,我们需要编写对应的Mapper接口和Mapper XML文件来实现这些操作。 对于单表的插入操作(增),我们可以在Mapper XML文件中编写相应的SQL语句,使用INSERT INTO语句将数据插入到数据库表中。在插入数据之前,我们需要先创建一个与表对应的实体类,实体类中的属性与表的字段对应。然后在Mapper接口中定义一个方法,方法的返回值类型可以是int或者void,参数为实体对象。在Mapper XML文件中,我们使用<insert>标签来定义插入的SQL语句,并使用#{属性名}的方式引用实体类中的属性值。最后,通过调用Mapper接口中的方法,即可实现数据的插入操作。 对于单表的删除操作(删),我们可以在Mapper XML文件中编写相应的SQL语句,使用DELETE FROM语句删除数据库表中的数据。在删除数据之前,我们需要先创建一个与表对应的实体类,实体类中的属性与表的字段对应。然后在Mapper接口中定义一个方法,方法的返回值类型可以是int或者void,参数为删除条件。在Mapper XML文件中,我们使用<delete>标签来定义删除的SQL语句,并使用#{属性名}的方式引用删除条件的属性值。最后,通过调用Mapper接口中的方法,即可实现数据的删除操作。 对于单表的更新操作(改),我们可以在Mapper XML文件中编写相应的SQL语句,使用UPDATE语句更新数据库表中的数据。在更新数据之前,我们需要先创建一个与表对应的实体类,实体类中的属性与表的字段对应。然后在Mapper接口中定义一个方法,方法的返回值类型可以是int或者void,参数为更新条件和更新的数据。在Mapper XML文件中,我们使用<update>标签来定义更新的SQL语句,并使用#{属性名}的方式引用更新条件和更新数据的属性值。最后,通过调用Mapper接口中的方法,即可实现数据的更新操作。 对于单表的查询操作(查),我们可以在Mapper XML文件中编写相应的SQL语句,使用SELECT语句从数据库表中查询数据。在查询数据之前,我们需要先创建一个与表对应的实体类,实体类中的属性与表的字段对应。然后在Mapper接口中定义一个方法,方法的返回值类型可以是实体类对象、List集合或者其他自定义返回类型,参数为查询条件。在Mapper XML文件中,我们使用<select>标签来定义查询的SQL语句,并使用#{属性名}的方式引用查询条件的属性值。最后,通过调用Mapper接口中的方法,即可实现数据的查询操作。 总之,通过Mybatis框架,我们可以方便地实现单表增删改查操作,只需要编写相应的SQL语句和Mapper接口方法即可。这样,我们可以更加高效地操作数据库并处理数据。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值