接上一篇随笔。这里没有用到MyBatis最关键的映射器接口,因此只做个简单的insert操作,update和delete同理,就不再赘述了。

  直接上代码:

  首先是dao包下的UserDAO.java文件:

package com.alleymeowy.dao;

import com.alleymeowy.bean.User;
import com.alleymeowy.util.DBUtil;
import org.apache.ibatis.session.SqlSession; import java.io.IOException;
import java.util.List; public class UserDAO { /**
* 根据id查询一条记录
* @param id
* @throws IOException
*/
public static User selectOne(int id) throws IOException { SqlSession sqlSession = null;
User user;
try {
sqlSession = DBUtil.getSqlSession();
user = sqlSession.selectOne("com.alleymeowy.config.sql.Users.selectOne", id);
} finally {
sqlSession.close();
}
return user; } /**
* 查询多条记录
* @throws IOException
*/
public static List<User> selectAll() throws IOException { SqlSession sqlSession = null;
List<User> users;
try {
sqlSession = DBUtil.getSqlSession();
users = sqlSession.selectList("com.alleymeowy.config.sql.Users.selectAll");
} finally {
sqlSession.close();
}
return users; } public static void insert(User user) throws IOException { SqlSession sqlSession = null;
try { sqlSession = DBUtil.getSqlSession();
int affectrows = sqlSession.insert("com.alleymeowy.config.sql.Users.insertUser", user);
System.out.println("affectrows : " + affectrows);
sqlSession.commit(); } finally {
if (sqlSession != null) {
sqlSession.close();
}
}
} public static void main(String[] args) throws IOException { // System.out.println(selectOne(1));
// System.out.println("************");
// System.out.println(selectAll()); insert(new User(6, "insertPerson", 100)); }
}

  这里添加了一个insert方法。

  然后是Users.xml文件,这里存放sql语句。

<?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.alleymeowy.config.sql.Users"> <select id="selectOne" parameterType="int" resultType="com.alleymeowy.bean.User">
select id, name, age from user where id = #{id}
</select> <select id="selectAll" resultType="com.alleymeowy.bean.User">
select id, name, age from user
</select> <insert id="insertUser" parameterType="com.alleymeowy.bean.User">
insert into user(id, name, age) values(#{id}, #{name}, #{age})
</insert> </mapper>

  同样也是增加了一条insert语句【很简单吧】。

  其他代码如总配置文件,DBUtil工具类等都不需要改动了,这里贴出最后的输出结果:

  

  affectrows为1,改变了数据库中的1行。

  完毕。

MyBatis笔记(二) 最简单的insert命令的更多相关文章

  1. MyBatis笔记二:配置

    MyBatis笔记二:配置 1.全局配置 1.properites 这个配置主要是引入我们的 properites 配置文件的: <properties resource="db.pr ...

  2. Mybatis笔记二:接口式编程

    目录 旧方法的弊端 接口式编程 接口式编程的好处 接口式编程的增删改查 旧方法的弊端 在Mybatis笔记一中,我们使用命名空间+id的方式实现了Mybatis的执行,不过这里的命名空间是我们随便写的 ...

  3. how tomcat works 读书笔记(二)----------一个简单的servlet容器

    app1 (建议读者在看本章之前,先看how tomcat works 读书笔记(一)----------一个简单的web服务器 http://blog.csdn.net/dlf123321/arti ...

  4. MyBatis之二:简单增删改查

    这一篇在上一篇的基础上简单讲解如何进行增删改查操作. 一.在mybatis的配置文件conf.xml中注册xml与注解映射 <!-- 注册映射文件 --> <mappers> ...

  5. Mybatis笔记二

    一对一查询 案例:查询所有订单信息,订单信息中显示下单人信息. 注意:因为一个订单信息只会是一个人下的订单,所以从查询订单信息出发关联查询用户信息为一对一查询.如果从用户信息出发查询用户下的订单信息则 ...

  6. Mybatis笔记二:org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)

    错误异常:org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.test.dao.N ...

  7. mybatis笔记<二> 整合spring

    mybatis与spring整合需要添加几个jar包,mybatis-spring, spring-context, spring-jdbc 1. spring ioc只要一个jar包就ok 2. 我 ...

  8. 吴裕雄--天生自然HADOOP操作实验学习笔记:hdfs简单的shell命令

    实验目的 了解bin/hadoop脚本的原理 学会使用fs shell脚本进行基本操作 学习使用hadoop shell进行简单的统计计算 实验原理 1.hadoop的shell脚本 当hadoop集 ...

  9. MyBatis 学习二之简单练习巩固

    1.新建一个maven项目并在pom.xml中添加依赖 2.项目架构   配置文件:SqlMapConfig.xml <?xml version="1.0" encoding ...

随机推荐

  1. 使用 JProbe 调试 Linux 内核(转)

    https://liam.page/2018/04/28/debug-in-Linux-kernel-jprobe/

  2. css学习_css3伸缩布局 flex布局

    1.flex布局 案例一: 案例二:   保证不至于缩放得太小或太大 案例三:flex的值不一定要写成几份,可以写成固定值 案例四: 竖着3等分(父容器按照高度3等分) !!案例  -----用fle ...

  3. spring mvc 总结

    依赖包 <!-- spring依赖 --> <dependency> <groupId>org.springframework</groupId> &l ...

  4. Express全系列教程之(三):get传参

    一.关于get请求 一般在网站开发中,get都用作数据获取和查询,类似于数据库中的查询操作,当服务器解析前台资源后即传输相应内容:而查询字符串是在URL上进行的,形如: http://localhos ...

  5. [开发笔记]--把input框设置成font-size:0埋下的坑。

    vue项目上开发了一个输入pin码的组件.在某些安卓机器上.用户点击键盘后会自动失去焦点自动收起键盘.经过排查,发现是css属性font-size设置成0导致的.

  6. Java学习之--List和ArrayList

    首先明确: List是一个接口,不能被创造实例对象 ArrayList是List 接口的一个实现类,ArrayList类实现了List接口(List接口有多个实现类,例如ArrayList,Linke ...

  7. JVM内存问题分析

    JVM运行时数据区: 1.方法区:类信息(类名,访问修饰符.字段描述.方法 描述等).常量.静态变量.即时编译后的class文件等.在GC时用永久代来实现方法区 2.运行时常量池:是方法区的一部分,存 ...

  8. Hello Json(c#)

    第一步:下载的DLL→Newtonsoft.Json 打开链接后下载这个(有可能版本有所更新,选前面点的就是了): 接下来是新建一个Console项目,然后是引用,然后上码  class Progra ...

  9. javascript的ES6学习总结(第一部分)

    ES6(ESNext学习总结——第一部分) ES6, 全称 ECMAScript 6.0 ,是 JavaScript 的下一个版本标准,2015.06 发版. ECMA每年6月份,发布一个版本 201 ...

  10. Oracle 11g R2性能优化 tkprof

    另一篇博文总结了关于SQL TRACE工具的使用方式,但是产生的trace文件格式阅读起来并不是十分友好,为了更好的分析trace文件,Oracle也自带了一个格式化工具tkprof.tkprof工具 ...