Mybatis的CRUD操作(基于xml)

本文详细介绍了如何使用Mybatis通过XML配置文件进行CRUD操作,包括增删改查的基础步骤,并提供了一个具体的JavaBean及配置文件示例。
摘要由CSDN通过智能技术生成

CRUD操作:增删改查

例子(记得导入mybatis和mysql的jar包):

javabean:

package com.zw.mybatis;
public class Students {
private int GENDER;
private String SNAME;
private int SID;
public int getGENDER() {
	return GENDER;
}
public void setGENDER(int gENDER) {
	GENDER = gENDER;
}
public String getSNAME() {
	return SNAME;
}
public void setSNAME(String sNAME) {
	SNAME = sNAME;
}
public int getSID() {
	return SID;
}
public void setSID(int sID) {
	SID = sID;
}
public Students() {
}
public Students(int sID, String sNAME ,int gENDER) {
    GENDER = gENDER;
    SNAME = sNAME;
    SID = sID;
}
}

mybatis的配置文件:conf.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>  
    <!-- 对事务的管理和连接池的配置 --> 
     <!-- development :开发模式 -->
      <!--  work:工作模式 -->
    <environments default="development">  
        <environment id="development">  
            <transactionManager type="JDBC" />  
            <dataSource type="POOLED">  
                <property name="driver" value="com.mysql.jdbc.Driver" />  
                <property name="url" value="jdbc:mysql://localhost:3306/hibernate" />  
                <property name="username" value="root" />  
                <property name="password" value="" />  
            </dataSource>  
        </environment>  
    </environments>  
    <!-- mapping 文件路径配置 -->  
   <mappers>  
        <mapper resource="com/zw/mybatis/studentsMapper.xml" />  
    </mappers>  
</configuration>

mapper:

<?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="com.zw.mybatis.studentsMapper">
<select id="getUser" parameterType="int" resultType="com.zw.mybatis.Students">
select * from students where SID=#{SID}
</select>
<insert id="addUser" parameterType="com.zw.mybatis.Students">
INSERT INTO STUDENTS(SID,SNAME.GENDER) VALUES(#{SID},#{SNAME},#{GENDER})
</insert>
<delete id="deleteUser" parameterType="int">
	DELETE FROM STUDENTS WHERE SID=#{SID}
</delete>
<update id="updateUser" parameterType="com.zw.mybatis.Students">
UPDATE STUDENTS SET SNAME=#{SNAME},GENDER=#{GENDER} WHERE SID=#{SID}
</update>
<select id="getAllUsers" resultType="com.zw.mybatis.Students">
SELECT * FROM STUDENTS
</select>
 </mapper>
ps:觉得写全类名太烦的:可以在conf.xml设置别名或者默认包名,请自行百度
测试类:

增:

package com.zw.mybatis;

import java.io.InputStream;

import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;

public class Test {

	public static void main(String[] args) {
		String resourse = "conf.xml";
		InputStream is = Test.class.getClassLoader().getResourceAsStream(resourse);
		SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(is);
		SqlSession session = factory.openSession();
		String Statement = "com.zw.mybatis.studentsMapper.addUser";
		//这个insert代表手影响的行数
		int insert=session.insert(Statement,new Students(2,"zhangwei",1));
		//默认是手动提交的
		session.commit();
                session.close();           
               //测试结果应为1
		System.out.println(insert);
	}

}
改:

package com.zw.mybatis;

import java.io.InputStream;

import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;

public class Test {

	public static void main(String[] args) {
		String resourse = "conf.xml";
		InputStream is = Test.class.getClassLoader().getResourceAsStream(resourse);
		SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(is);
		SqlSession session = factory.openSession();
		String Statement = "com.zw.mybatis.studentsMapper.updateUser";
		//这个update代表手影响的行数
		int update=session.update(Statement,new Students(2,"zhangwei",0));
		//默认是手动提交的
		session.commit();
                session.close();
               //测试结果应为1
		System.out.println(update);
	}

}
删:

package com.zw.mybatis;

import java.io.InputStream;

import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;

public class Test {

	public static void main(String[] args) {
		String resourse = "conf.xml";
		InputStream is = Test.class.getClassLoader().getResourceAsStream(resourse);
		SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(is);
		SqlSession session = factory.openSession();
		String Statement = "com.zw.mybatis.studentsMapper.deleteUser";
		//这个update代表手影响的行数
		int delete=session.delete(Statement,2);
		//默认是手动提交的
		session.commit();
                session.close(); 
                //测试结果应为1
		System.out.println(delete);
	}

}
查:

package com.zw.mybatis;

import java.io.InputStream;
import java.util.List;

import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;

public class Test {

    public static void main(String[] args) {
        String resourse = "conf.xml";
        InputStream is = Test.class.getClassLoader().getResourceAsStream(resourse);
        SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(is);
        SqlSession session = factory.openSession(true);
        String Statement = "com.zw.mybatis.studentsMapper.getAllUsers";
        //这里不止一条数据所以用List
        List<Students> list=session.selectList(Statement);
        //测试结果应为1
        session.close();
        System.out.println(list);
    }

}





  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值