mybatis实现增删改查xml配置和后端编程教程

SqlMapConfig.xml

<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE configurationPUBLIC "-//mybatis.org//DTD Config 3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd"><configuration><environments default="development"><environment id="development"><!-- 使用jdbc事务管理 --><transactionManager type="JDBC"/><!-- 数据库连接池 --><dataSource type="POOLED"><property name="driver" value="com.mysql.jdbc.Driver"/><property name="url" value="jdbc:mysql://localhost:3306/mybatis?characterEncoding=utf-8"/><property name="username" value="root"/><property name="password" value="011220"/></dataSource></environment></environments><mappers><mapper resource="sqlmap/user.xml"/></mappers></configuration>

user.xml

<?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="test"><!-- 根据用户id查询用户信息 --><select id="findUserById" parameterType="int" resultType="cn.nwtxxb.mybatis.po.User">select * from user where id = #{id}</select><!-- 根据用户名查询用户信息 --><select id="findUserByUserName" parameterType="java.lang.String" resultType="cn.nwtxxb.mybatis.po.User">select * from user where username like '%${value}%'</select><!-- 添加用户 --><insert id="insertUser" parameterType="cn.nwtxxb.mybatis.po.User"><!-- selectKey将主键返回 --><selectKey keyProperty="id" order="AFTER" resultType="java.lang.Integer">select LAST_INSERT_ID()</selectKey>insert into user (username,birthday,sex,address) values (#{username},#{birthday},#{sex},#{address})</insert><!-- 删除用户 --><delete id="deleteUserById" parameterType="int">delete from user where id=#{id}</delete></mapper>

User.java

package cn.nwtxxb.mybatis.po;import java.util.Date;public class User {private int id;private String username;private String sex;private Date birthday;private String address;public int getId() {return id;}public void setId(int id) {this.id = id;}public String getUsername() {return username;}public void setUsername(String username) {this.username = username;}public String getSex() {return sex;}public void setSex(String sex) {this.sex = sex;}public Date getBirthday() {return birthday;}public void setBirthday(Date birthday) {this.birthday = birthday;}public String getAddress() {return address;}public void setAddress(String address) {this.address = address;}@Overridepublic String toString() {return "User [id=" + id + ", username=" + username + ", sex=" + sex + ", birthday=" + birthday + ", address="+ address + "]";}}

测试类代码:

package cn.nwtxxb.mybatis.test;
import java.io.InputStream;
import java.util.Date;
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 org.junit.Before;
import org.junit.Test;
import cn.nwtxxb.mybatis.po.User;
public class Mybatis_first {//会话工厂private SqlSessionFactory sqlSessionFactory;@Beforepublic void createSqlSessionFactory() throws Exception{//配置文件String resource = "SqlMapConfig.xml";InputStream inputStream = Resources.getResourceAsStream(resource);//使用SqlSessionFactoryBuilder从xml配置文件中创建SqlSessionFactorysqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);}//根据id查询用户信息@Testpublic void testFindUserById(){//数据库会话实例SqlSession sqlSession = null;try {//创建数据库会话实例sqlSessionsqlSession = sqlSessionFactory.openSession();//查询单个记录,根据用户id查询用户信息User user = sqlSession.selectOne("test.findUserById",10);//输出用户信息System.out.println(user);} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}finally{if(sqlSession!=null){sqlSession.close();}}}//根据用户名查询用户信息@Testpublic void testFindUserByUsername(){//数据库会话实例SqlSession sqlSession = null;try {//创建数据库会话实例sqlSessionsqlSession = sqlSessionFactory.openSession();//根据用户名中包含"张"的条件查询用户信息List<User> list = sqlSession.selectList("test.findUserByUserName","张");System.out.println(list.size());} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}finally{if(sqlSession!=null){sqlSession.close();}}}//添加用户信息@Testpublic void testInsert(){//数据库会话实例SqlSession sqlSession = null;try {//创建数据库会话实例sqlSessionsqlSession = sqlSessionFactory.openSession();//添加用户信息User user = new User();user.setUsername("张磊");user.setSex("1");user.setAddress("襄城");user.setBirthday(new Date());sqlSession.insert("test.insertUser",user);//提交事务sqlSession.commit();} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}finally{if(sqlSession!=null){sqlSession.close();}}}//删除用户@Testpublic void testDelete(){//数据库会话实例SqlSession sqlSession = null;try {//创建数据库会话实例sqlSessionsqlSession = sqlSessionFactory.openSession();sqlSession.delete("test.deleteUserById",26);sqlSession.commit();} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}finally{if(sqlSession!=null){sqlSession.close();}}}
}

login4j.properties

# Global logging configuration
log4j.rootLogger=DEBUG,stdout
# Console output...
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n

mybatis实现增删改查xml配置和后端Java编程完整教程相关推荐

  1. Spring+SpringMVC+Mybatis实现增删改查--(五)SSM修改员工页面搭建

    Spring+SpringMVC+Mybatis实现增删改查--(五)SSM修改员工页面搭建 修改员工: 1.在index.jsp页面点击"编辑"弹出编辑对话框 2.去数据库查询部 ...

  2. MyBatis的增删改查操作

    MyBatis的增删改查操作 简单实现一下MyBatis的增删改查,并且在控制台输出结果. 文章目录 MyBatis的增删改查操作 MyBatis的简单入门 一.查询操作 二.增加操作 三.修改操作 ...

  3. MyBatis实现增删改查功能(总)

    文章目录 MyBatis实现增删改查功能(总) 一.创建数据库.表.数据 二.MyBatis的Maven项目创建 三.MyBatis的Maven模块创建 四.配置jar包pom.xml 五.MyBat ...

  4. Mybatis实现增删改查

    文章目录 Mybatis实现增删改查 一.mybatis的配置 1.1 添加相应的jar包 1.2 配置mybatis.xml文件 1.3 创建数据库 1.4 创建实体类 1.5 创建接口实现的方法 ...

  5. idea使用mybatis写增删改查

    idea应用mybatis写增删改查 entity层 private Integer id;private String userCode;private String userName;privat ...

  6. 如何 增删改查 XML文件中的元素

    如何 增删改查 XML文件中的元素 students.xml 文件如下: <?xml version="1.0" encoding="UTF-8" sta ...

  7. 3. mysql的注解驱动的三种方式_上手spring boot项目(三)之spring boot整合mybatis进行增删改查的三种方式。...

    1.引入依赖 org.springframework.boot spring-boot-starter-web org.mybatis.spring.boot mybatis-spring-boot- ...

  8. springboot+springm vc+mybatis实现增删改查案例!

    大家好,我是雄雄,欢迎关注微信公众号[雄雄的小课堂]. 前言 最近这几天都在看关于springboot的内容,每天新会获得点新收获,并且都总结发在公众号中:最后经过不懈努力,不断查找相关网页,解决各种 ...

  9. Mybaits:凡人修仙秘籍——第二话:MyBatis 的增删改查

                目录 一.创建用户.角色和权限表 二.创建实体类 三.使用XML方式 四.select用法--单表查询 1.配置UserMapper 2.写出对应的接口类 3.关于userMa ...

最新文章

  1. 在django中按照时间范围查询数据库
  2. MYSQL水平拆分与垂直拆分
  3. 【线性规划与网络流24题】孤岛营救问题 分层图
  4. linux挂载wondiws目录,linux cifs自动挂载windows硬盘或文件夹
  5. 前端vue的get和post请求
  6. Linux 目录详细说明
  7. Java VisualVM无法检测到本地java程序 的 解决办法
  8. 小程序的侵权“生死局”
  9. 拒绝996,选对框架很关键!看这里。。。。。。
  10. Mac如何解压rar,zip等各种格式文件
  11. python递归函数基例_函数和代码复用 --Python
  12. java实现非对称加密算法
  13. 新中大软件显示无法连接服务器,新中大服务器数据库未能连接
  14. 数据库系统和文件系统的区别
  15. JAVA计算机毕业设计在线教学质量评价系统Mybatis+系统+数据库+调试部署
  16. 免费的ASP.NET空间和SQLServer2008 Express
  17. 高德地图小程序步行路线显示_微信小程序 高德地图路线规划实现过程详解
  18. BZOJ 4892: [Tjoi2017]DNA(SA+RMQ / SAM)
  19. matlab中不能找到ccs,搭建matlab连接ccs生成28335代码的环境(路径不在C盘)
  20. 搜狗网址导航 php,sogou 搜狗网址导航的源码,将整站仿了下来,完美无错,纯净,精仿 面绝对 全免费 WEB(ASP,PHP,...) 238万源代码下载- www.pudn.com...

热门文章

  1. 【机器学习基础】在机器学习项目中该如何选择优化器
  2. 【Python基础】科学计算库Scipy简易入门
  3. Wireshark对HTTPS数据的解密
  4. oracle控制文件的损坏或完全丢失的恢复办法
  5. webpack entry和output配置属性
  6. [公告][重要]Senparc.Weixin v4.9.0 Senparc.Weixin.MP v14.3.104更新说明
  7. thinkphp phpexcel导出
  8. String和Date、Timestamp之间的转换
  9. Linux系统下Apache与Tomcat整合
  10. 装好了ubuntu,w2k却无法启动了,:(