使用MyBatis框架实现对数据库增删改查
2017-11-25 19:20
483 查看
第一步:首先需要新建一个数据库,然后建一个表在表里面可以随便插入几条数据,不插入也可以,等下直接用程序插入,今天就用下面这个表举例
第二步:创建一个Java工程;
第三步:创建一个实体类User,将数据库中的字段名get、set。
第四步:写连接数据库的config.xml配置文件:
第五步:配置对应实体类的user.XML文件,里面写MySQL增删改查语句:
第六步:写对应user.xml的接口类。
最后一步写测试类:
最后输出结果为:
这里值得注意得到地方就是写配置文件时一定要细心,不然写到最后一运行一定会出现各种各样的错,找起来头痛。
第二步:创建一个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> 4000 <!-- 根据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(); } }
最后输出结果为:
这里值得注意得到地方就是写配置文件时一定要细心,不然写到最后一运行一定会出现各种各样的错,找起来头痛。
相关文章推荐
- 关于SpringMVC与JDBC结合实现对数据库增删改查(适合初学者理解JDBC使用,但是对于SpringMVC框架使用了扫描,不太适合初学者)
- java连接数据库方式(二):单独使用MyBatis 框架实现
- 使用MyBatis框架进行数据库的增删改查操作
- SpringMVC+Spring+mybatis 实现登录过程(使用后台验证框架)
- Asp.net MVC4 使用EF实现数据库的增删查改
- 数据库分库分表(sharding)系列(三) 关于使用框架还是自主开发以及sharding实现层面的考量(不太懂)
- 在C#中使用控件DataGridView实现数据库增删改查
- 在C#中使用控件DataGridView实现数据库增删改查
- ztree使用系列三(ztree与springmvc+spring+mybatis整合实现增删改查)
- 使用Hibernate实现简单的数据库增删改查。
- C#2005中使用控件DataGridView实现对数据库增删改查操作
- Asp.net MVC4 使用EF实现数据库的增删改查
- 在C#中使用控件DataGridView实现数据库增删改查
- 数据库链接池的使用,对应于多数据库(用c3p0实现Apache—DBUtils框架)
- ztree使用系列三(ztree与springmvc+spring+mybatis整合实现增删改查)
- 在Yii框架中使用PHPExcel扩展从数据库导出excel文件功能的实现
- 使用bboss persistent框架实现数据库的插入操作
- java H2数据库使用并实现增删改查功能
- 使用存储过程操作数据库(实现增删改查)
- 数据库分库分表(sharding)系列(三) 关于使用框架还是自主开发以及sharding实现层面的考量