使用MyBatis框架实现对数据库增删改查
来源:互联网 发布:java.lang.throwable 编辑:程序博客网 时间:2024/05/22 00:26
第一步:首先需要新建一个数据库,然后建一个表在表里面可以随便插入几条数据,不插入也可以,等下直接用程序插入,今天就用下面这个表举例
第二步:创建一个Java工程;
第三步:创建一个实体类User,将数据库中的字段名get、set。
package com.zhiyuan.pojo;public class User { private int id; private String name; private String sex; 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 getSex() { return sex; } public void setSex(String sex) { this.sex = sex; }}
第四步:写连接数据库的config.xml配置文件:
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "mybatis-3-config.dtd" ><configuration> <typeAliases> <typeAlias alias="User" type="com.zhiyuan.pojo.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://127.0.0.1:3306/mybatis" /> <property name="username" value="root" /> <property name="password" value="liuxi" /> </dataSource> </environment> </environments> <mappers> <mapper resource="com/zhiyuan/pojo/User.xml" /> </mappers></configuration>
第五步:配置对应实体类的user.XML文件,里面写MySQL增删改查语句:
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "mybatis-3-mapper.dtd" ><mapper namespace="com.zhiyuan.dao.Inter"> <!-- 插入数据,这里ID是自动递增的,所有不需要插入 --> <insert id="getInsert" parameterType="User"> insert into nb(name,sex) values(#{name},#{sex}) </insert> <!-- 查询表中所有的数据 --> <select id="getUserList" resultType="com.zhiyuan.pojo.User"> select * from nb </select> <!-- 根据ID查询表数据 --> <select id="getUser" parameterType="int" resultType="com.zhiyuan.pojo.User"> select * from nb where id=#{id} </select> <!-- 根据ID更新表数据 --> <update id="getUpdate" parameterType="com.zhiyuan.pojo.User"> update nb set name=#{name},sex=#{sex} where id=#{id} </update> <!-- 根据ID删除表数据 --> <delete id="getDelete" parameterType="int"> delete from nb where id=#{id} </delete></mapper>
第六步:写对应user.xml的接口类。
package com.zhiyuan.dao;import java.util.List;import com.zhiyuan.pojo.User;public interface Inter { public List<User> getUserList(); public User getUser(int id); public void getInsert(User user); public void getUpdate(User user); public void getDelete(int id);}
最后一步写测试类:
package com.zhiyuan.main;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.zhiyuan.dao.Inter;import com.zhiyuan.pojo.User;public class Main { static SqlSessionFactory ssf; static SqlSession ss; public static void main(String[] args) throws IOException { Reader re = Resources.getResourceAsReader("conf.xml"); ssf = new SqlSessionFactoryBuilder().build(re); ss = ssf.openSession(); insert();// userList();// user();// update();// delete(); } //根据ID删除字段 private static void delete() { ss = ssf.openSession(); Inter ie = ss.getMapper(Inter.class); ie.getDelete(1); ss.commit(); System.out.println("删除后:"); userList(); } //根据ID更新表数据 private static void update() { ss = ssf.openSession(); Inter ite = ss.getMapper(Inter.class); User us = ite.getUser(3); us.setName("徐深何"); us.setSex("不详"); ite.getUpdate(us); ss.commit(); System.out.println("更新后:"); userList(); } //条件查询 private static void user() { ss = ssf.openSession(); Inter it = ss.getMapper(Inter.class); User user = it.getUser(3); if(user != null){ System.out.println("姓名:" + user.getName()); System.out.println( "性别:" + user.getSex()); } } //查询全部 private static void userList() { ss = ssf.openSession(); Inter is = ss.getMapper(Inter.class); print(is.getUserList()); } private static void print(List<User> userList) { for(User us : userList){ System.out.println("编号:" + us.getId()); System.out.println("姓名:" + us.getName()); System.out.println("性别:" + us.getSex()); } } //插入 private static void insert() { ss = ssf.openSession(); Inter in = ss.getMapper(Inter.class); User user = new User(); user.setName("CSDN"); user.setSex("????"); in.getInsert(user); ss.commit(); System.out.println("插入成功"); userList(); }}
最后输出结果为:
这里值得注意得到地方就是写配置文件时一定要细心,不然写到最后一运行一定会出现各种各样的错,找起来头痛。
阅读全文
1 0
- 使用MyBatis框架实现对数据库增删改查
- 使用MyBatis框架进行数据库的增删改查操作
- MyBatis框架增删改查(Oracle数据库)
- MyBatis框架实现简单增删改查
- 使用FMDB对数据库实现增删查改
- java使用反射实现对数据库的增删改查
- MyBatis使用注解实现增删改查
- MyBatis 对MYSQL 数据库进行增删改查案例详解
- MyBatis对数据库的增删改查操作,简单示例
- MyBatis对数据库的增删改查操作,简单示例
- mybatis入门级对数据库增删查改
- Mybatis实现对数据(oracle数据库)的增删改查(crud)
- Mybatis(一)—实现对数据库的增删改查操作
- Mybatis-实现增删改查
- MyBatis实现增删改查
- mybatis实现增删查改
- Mybatis - 简单使用Mybatis 实现 增删改查
- mybatis实现的对数据的增删查改
- Redis持久化的两种方式和配置
- 如何实施DevOps
- PCL1.8.0+VS2013配置
- 【转】Unity3D安装破解教程(以Unity5.3.4为例)
- 程序员也可以抒情写诗
- 使用MyBatis框架实现对数据库增删改查
- Redis发布订阅和应用场景
- oracle高效率insert写法
- 板子QWQ(考前复习)
- net use使用方法
- 大数据早报:西安电子科技大学成立部属全国高校首个人工智能学院; 三星与京东达成合作,用AI等技术为消费者带来创新购物体验(11.10)
- 一个程序员的奋斗史
- ECharts v3.8 发布:树图、SVG 渲染(beta)、ES Module
- AJAX数据格式之HTML