mybatis--实现数据库增删改查
首先,创建一个数据库my,并在数据库中插入一张表user,然后在user表中插入一行数据,代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 | create database my; use my; create table user( id int ( 10 ) auto_increment, name varchar( 64 ), level varchar( 256 ), phone varchar( 256 ), primary key(id) ); insert into user(id,name,level,phone) values( 1 , 'a' , 'a' , '1234555666' ); |
其次,创建mybatis配置文件config.xml,配置文件代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | <?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> <typeAliases> <typeAlias alias= "User" type= "com.zk.model.User" /> </typeAliases> <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/my" /> <property name= "username" value= "root" /> <property name= "password" value= "123456" /> </dataSource> </environment> </environments> <mappers> <!-- // power by http://www.yiibai.com --> <mapper resource= "com/zk/model/UserMapper.xml" /> </mappers> </configuration> |
再次,创建一个IUser.java接口
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | package com.zk.dao; import java.util.List; import com.zk.model.User; public interface IUser { //增加 public void addUser(User user); //删除 public void deleteUser( int id); //更新 public void updateUser(User user); //删除 public User selectUser( int userid); //查看所有使用者 public List<User> selectAllUser(); } |
创建一个User.java实体类
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | package com.zk.model; public class User { private int id; private String name; private String level; private String phone; public int getId() { return id; } public void setId( int id) { this .id = id; } public String getName() { return name; } public void setName(String name) { this .name = name; } public String getLevel() { return level; } public void setLevel(String level) { this .level = level; } public String getPhone() { return phone; } public void setPhone(String phone) { this .phone = phone; } @Override public String toString() { return "User [id=" + id + ", name=" + name + ", level=" + level + ", phone=" + phone + "]" ; } } |
接着,在配置UserMapper.xml文件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | <?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.zk.dao.IUser" ><br> <insert id= "addUser" parameterType= "User" ><br> Insert into user(id,name,level,phone) values(#{id},#{name},#{level},#{phone}); </insert> <delete id= "deleteUser" parameterType= "User" > delete from user where id=#{id}; </delete> <update id= "updateUser" parameterType= "User" > update user set name=#{name},level=#{level},phone=#{phone} where id=#{id}; </update> <select id= "selectUser" parameterType= "User" resultType= "com.zk.model.User" > Select * from user where id=#{id}; </select> <select id= "selectAllUser" resultType= "com.zk.model.User" > Select * from user; </select> </mapper> |
最后,构建一个Main.java,实现数据库增删改查的功能:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 | package MainApp; import java.io.IOException; import java.io.Reader; 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 com.zk.dao.IUser; import com.zk.model.User; public class Main { private static SqlSessionFactory sqlsessionfactory; private static Reader reader; static { try { reader=Resources.getResourceAsReader( "config/config.xml" ); sqlsessionfactory= new SqlSessionFactoryBuilder().build(reader); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } public SqlSessionFactory getSqlSessionFactory() { return sqlsessionfactory; } public static void main(String[]args) { //Insert(); //delete(); //update(); select( 1 ); } public static void Insert(){ //获取session连接 SqlSession session=sqlsessionfactory.openSession(); //获取mapper IUser usermap=session.getMapper(IUser. class ); //执行插入 User user1= new User(); user1.setId( 1 ); user1.setLevel( "a" ); user1.setName( "a" ); user1.setPhone( "19832321123" ); usermap.addUser(user1); //提交事务 //获取插入信息 session.commit(); selectAllUser(); } public static void delete(){ //获取session连接 SqlSession session=sqlsessionfactory.openSession(); //获取mapper IUser usermap=session.getMapper(IUser. class ); //执行删除 usermap.deleteUser( 1 ); session.commit(); selectAllUser(); } public static void update(){ //获取session连接 SqlSession session=sqlsessionfactory.openSession(); //获取mapper IUser usermap=session.getMapper(IUser. class ); selectAllUser(); User user = usermap.selectUser( 1 ); user.setName( "c" ); //执行删除 usermap.updateUser(user); session.commit(); selectAllUser(); } public static void select( int id){ //获取session连接 SqlSession session=sqlsessionfactory.openSession(); //获取mapper IUser usermap=session.getMapper(IUser. class ); //selectAllUser(); User user = usermap.selectUser(id); //执行查询 System.out.println(user.toString()); session.commit(); //selectAllUser(); } private static void selectAllUser() { // TODO Auto-generated method stub SqlSession session=sqlsessionfactory.openSession(); IUser user=session.getMapper(IUser. class ); printUser(user.selectAllUser()); } private static void printUser( final List<User> users) { // TODO Auto-generated method stub int count = 0 ; for (User user : users) { System.out.println( "User Id: " + user.getId()); System.out.println( "User Name: " + user.getName()); System.out.println( "User Dept: " + user.getLevel()); System.out.println( "User Website: " + user.getPhone()); } } } |
这样就完成了数据库的增删改查。
程序结构如下图所示:
分类:
mybatis
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)