本文主要是介绍mybaits基础增删改查-------mybatis(四),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Mybatis的增删改查
-
mybatis流程:
1 创建实体类及接口方法
2 创建全局配置文件 configuration.xml
3 创建 sql 映射文件 BlogMapper.xml
4 将全局文件中维护 sql映射文件配置
5 调用java API 执行相关sql操作
注意sqlSession是线程非安全的实体java类:
package model;public class Bloger {private Integer id;private String name;//这里需要注意变量的命名规范,因为实体变量会和sql记录一一对应,// 所以不规范的命名方式会导致mybatis执行异常private String userName;private int age;private String email;public Bloger(){}public Bloger(Integer id, String name, String userName, int age, String email) {this.id = id;this.name = name;this.userName = userName;this.age = age;this.email = email;}public Integer getId() {return id;}public void setId(Integer id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public String getUserName() {return userName;}public void setUserName(String userName) {this.userName = userName;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}public String getEmail() {return email;}public void setEmail(String email) {this.email = email;}@Overridepublic String toString() {return "BlogId:"+ getId()+ " BlogName:"+getName()+ " username:" + getUserName();} }
接口方法:
package dao;import model.Bloger;import org.apache.ibatis.annotations.Select;public interface BlogerMapper {//通过接口方法 getBlogerId(Integer id)返回一个实体对象public Bloger getBlogerId(Integer id);public void addBloger(Bloger bloger);public void updateBloger(Bloger bloger);public Boolean deleteBloger(Integer id);}
mapper 配置文件:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd"><mapper namespace="dao.BlogerMapper"><!--model.Bloger --><select id="getBlogerId" resultType="Bloger">select id,name,user_name,age,email from mybatis_test where id = #{id}</select><!--添加博主 --><insert id="addBloger" parameterType="Bloger">INSERT into mybatis_test(user_name,age,email,name)VALUES (#{user_name},#{age},#{email},#{name});</insert><update id="updateBloger" parameterType="model.Bloger">UPDATE mybatis_testSET user_name=#{user_name},age=#{age},email=#{email},name=#{name}WHERE id = #{id}</update><delete id="deleteBloger" parameterType="model.Bloger">DELETE FROM mybatis_test where id =#{id}</delete>
</mapper>
package test;import dao.BlogerMapper;
import model.Bloger;
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 java.io.IOException;
import java.io.InputStream;
public class MybatisDriver {public static void main(String[] args) throws Exception{mybatits_select();}public static SqlSessionFactory getSqlSessionFactory() throws IOException {String resource = "source/configuration.xml";InputStream inputStream= Resources.getResourceAsStream(resource);SqlSessionFactory sqlSessionFactory= new SqlSessionFactoryBuilder().build(inputStream);return sqlSessionFactory;}public static void mybatits_add() throws IOException{// 获取SqlSessionFactory对象SqlSessionFactory sqlSessionFactory=getSqlSessionFactory();// 获取回话对象SqlSession sqlSession=sqlSessionFactory.openSession();// 这里MyBaitis帮我们创建了代理对象BlogerMapper blogerMapper =sqlSession.getMapper(BlogerMapper.class);Bloger bloger=new Bloger();bloger.setName("樊瑞8号");bloger.setEmail("wujianqinjian8@163.com");bloger.setAge(33);bloger.setUserName("wujianqinjian8");blogerMapper.addBloger(bloger);sqlSession.commit();sqlSession.close();}public static void mybatits_delete() throws IOException{// 获取SqlSessionFactory对象SqlSessionFactory sqlSessionFactory=getSqlSessionFactory();// 获取回话对象SqlSession sqlSession=sqlSessionFactory.openSession();// 这里MyBaitis帮我们创建了代理对象BlogerMapper blogerMapper =sqlSession.getMapper(BlogerMapper.class);blogerMapper.deleteBloger(11);sqlSession.commit();sqlSession.close();}public static void mybatits_update() throws IOException{// 获取SqlSessionFactory对象SqlSessionFactory sqlSessionFactory=getSqlSessionFactory();// 获取回话对象SqlSession sqlSession=sqlSessionFactory.openSession();// 这里MyBaitis帮我们创建了代理对象BlogerMapper blogerMapper =sqlSession.getMapper(BlogerMapper.class);Bloger bloger=blogerMapper.getBlogerId(9);bloger.setAge(33);bloger.setUserName("wujianqinjian09");blogerMapper.updateBloger(bloger);sqlSession.commit();sqlSession.close();}public static void mybatits_select() throws IOException{// 获取SqlSessionFactory对象SqlSessionFactory sqlSessionFactory=getSqlSessionFactory();// 获取回话对象SqlSession sqlSession=sqlSessionFactory.openSession();// 这里MyBaitis帮我们创建了代理对象BlogerMapper blogerMapper =sqlSession.getMapper(BlogerMapper.class);Bloger bloger=blogerMapper.getBlogerId(3);System.out.println(bloger);sqlSession.close();}
}
总结:看过前几章节的小伙伴,一定觉得这篇博客实在没有啥技术含量,为了保证系列的完整性,写了这个实例,需要注意的实体变量的命名需要规范从而避免不必要的麻烦!
最后,建了一个微信群,本来想大家一起共同学习,但学习气氛好像目前还不算特别好,加群主微信进群!(由于广告太多,所以请先点赞,然后发博客名!)
创建了一个技术闲聊群:有兴趣可加我微信,拉你一起讨论杂七杂八的技术,虽然大家都不怎么活跃!
加好友备注:你的博客名 && 随便给我的任意文章点个赞或留言
这篇关于mybaits基础增删改查-------mybatis(四)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!