一、配置文件方式

mapper.xml:

<?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.hy.mybatis.test.News"> <insert id="insertNews" parameterType="com.hy.mybatis.test.News">
insert into news(title,content,author,createdate) values(#{title},#{content},#{author},#{createdate})
</insert> <delete id="deleteNews" parameterType="int">
delete from news where id= #{id}
</delete> <update id="updateNews" parameterType="com.hy.mybatis.test.News">
update news set author = #{author} where id = #{id}
</update> <select id="getAllNews" resultType="com.hy.mybatis.test.News">
select * from news
</select> <select id="getNews" parameterType="int" resultType="com.hy.mybatis.test.News">
select * from news where id=#{id}
</select>
</mapper>

引入:

<mappers>
<mapper resource="com/hy/mybatis/test/News.xml"/>
</mappers>

测试:

public static SqlSession getSqlSession() {
InputStream is = MyBatisUtil.class.getClassLoader().getResourceAsStream("mybatis.xml");
SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(is);
return factory.openSession(true);
}

封装获取sqlSession的方法,这里采用自动提交事务的方式。

@Test
public void testAddNews() {
SqlSession session = MyBatisUtil.getSqlSession();
String statement = "com.hy.mybatis.test.News.insertNews";
int insert = session.insert(statement, new News(-1, "android学习", "学习",
"李博", new Date()));
System.out.println(insert);
} @Test
public void testDeleteNews() {
SqlSession session = MyBatisUtil.getSqlSession();
String statement = "com.hy.mybatis.test.News.deleteNews";
int delete = session.delete(statement, 2);
System.out.println(delete);
} @Test
public void testUpdateNews() {
SqlSession session = MyBatisUtil.getSqlSession();
String statement = "com.hy.mybatis.test.News.updateNews";
int update = session.update(statement, new News(3, "", "", "xx",
new Date()));
System.out.println(update);
} @Test
public void testgetAllNews() {
SqlSession session = MyBatisUtil.getSqlSession();
String statement = "com.hy.mybatis.test.News.getAllNews";
List<News> list = session.selectList(statement);
System.out.println(list);
}

二、注解方式

写一个mapperInterface:

package com.hy.mybatis.test;

import java.util.List;

import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update; public interface NewsInterface { @Insert("insert into news(title,content,author,createdate) values(#{title},#{content},#{author},#{createdate})")
public int add(News news); @Delete("delete from news where id= #{id}")
public int deleteById(int id); @Update("update news set author = #{author} where id = #{id}")
public int update(News news); @Select("select * from news")
public List<News> getAllNews(); }

测试代码:

@Test
public void testAddNews2() {
SqlSession session = MyBatisUtil.getSqlSession();
NewsInterface newsInterface= session.getMapper(NewsInterface.class);
int add = newsInterface.add(new News(-1, "android学习", "学习",
"李博", new Date()));
System.out.println(add);
}

先获取一个mapperInterface的示例,然后调用就行了!!

mybatis的增删改查的更多相关文章

  1. 学习MyBatis必知必会(5)~了解myBatis的作用域和生命周期并抽取工具类MyBatisUtil、mybatis执行增删改查操作

    一.了解myBatis的作用域和生命周期[错误的使用会导致非常严重的并发问题] (1)SqlSessionFactoryBuilder [ 作用:仅仅是用来创建SqlSessionFactory,作用 ...

  2. MyBatis的增删改查。

    数据库的经典操作:增删改查. 在这一章我们主要说明一下简单的查询和增删改,并且对程序接口做了一些调整,以及对一些问题进行了解答. 1.调整后的结构图: 2.连接数据库文件配置分离: 一般的程序都会把连 ...

  3. MyBatis批量增删改查操作

      前文我们介绍了MyBatis基本的增删该查操作,本文介绍批量的增删改查操作.前文地址:http://blog.csdn.net/mahoking/article/details/43673741 ...

  4. 上手spring boot项目(三)之spring boot整合mybatis进行增删改查的三种方式。

    1.引入依赖. <!--springboot的web起步依赖--><dependency> <groupId>org.springframework.boot< ...

  5. 上手spring boot项目(三)之spring boot整合mybatis进行增删改查

    使用mybatis框架进行增删改查大致有两种基础方式,一种扩展方式.两种基础方式分别是使用xml映射文件和使用方法注解.扩展方式是使用mybatis-plus的方式,其用法类似于spring-data ...

  6. 从0开始完成SpringBoot+Mybatis实现增删改查

    1.准备知识: 1)需要掌握的知识: Java基础,JavaWeb开发基础,Spring基础(没有Spring的基础也可以,接触过Spring最好),ajax,Jquery,Mybatis. 2)项目 ...

  7. Spring Boot入门系列(六)如何整合Mybatis实现增删改查

    前面介绍了Spring Boot 中的整合Thymeleaf前端html框架,同时也介绍了Thymeleaf 的用法.不清楚的朋友可以看看之前的文章:https://www.cnblogs.com/z ...

  8. Mybatis实例增删改查(二)

    创建实体类: package com.test.mybatis.bean; public class Employee { private Integer id; private String las ...

  9. mybatis的增删改查返回值小析(六)

    本文验证了通过mybatis访问数据库时的,增删改查的返回值情况. 直接看代码. 1.service层 /** *@Author: Administrator on 2020/3/12 15:15 * ...

  10. ssm 框架实现增删改查CRUD操作(Spring + SpringMVC + Mybatis 实现增删改查)

    ssm 框架实现增删改查 SpringBoot 项目整合 一.项目准备 1.1 ssm 框架环境搭建 1.2 项目结构图如下 1.3 数据表结构图如下 1.4 运行结果 二.项目实现 1. Emplo ...

随机推荐

  1. 【转】关于B/S架构应用程序的权限设置分析和总结

    来自:http://www.cnblogs.com/zhouxunyu/p/3790122.html 分析:不同的用户登录到系统后赋予不同的操作权限,而用户存在于数据库中,标识用户权限的字段也保存在数 ...

  2. 简单配置IIS 以及web service 实现js跨域

    因为浏览器的安全模型,js 是不能跨域的. 解决的方法有以下几种: 1. 使用代理服务转发 2. 目前服务器添加:Access-Control-Allow-Origin 3. 使用jsonp 4. 使 ...

  3. python函数: 内置函数

    forthttp://blog.csdn.net/pipisorry/article/details/44755423 Python内置函数 Python内置(built-in)函数随着python解 ...

  4. ORA-12519, TNS:no appropriate service handler found

    解决问题: 有时候连不上数据库是因为连接数到了极限了. select count(*) from v$process --当前的连接数 130 select value from v$paramete ...

  5. 使用Node.js和Redis实现push服务--转载

    出处:http://blog.csdn.net/unityoxb/article/details/8532028 push服务是一项很有用处的技术,它能改善交互,提升用户体验.要实现这项服务通常有两种 ...

  6. OC-设计模式KVC+KVO定义及使用

    一.KVC Key-Value-Coding 键值编码(KVC:是一种存取值的方式,通过key存value 或者通过key获取value key从哪里来的呢? key 把对象里面的属性名.变量名当作了 ...

  7. js键盘事件全面控制详解【转】

    js键盘事件全面控制 主要分四个部分第一部分:浏览器的按键事件第二部分:兼容浏览器第三部分:代码实现和优化第四部分:总结 第一部分:浏览器的按键事件 用js实现键盘记录,要关注浏览器的三种按键事件类型 ...

  8. 使用Cyclone IV控制DDR2

    根据你的DDR2手册配置好megacore,megacore会生成一个example top: 在quartus中运行megacore生成的xxx_pin_assignments.tcl,指定DDR2 ...

  9. boa配置文件详解

    Web服务器boa配置文件参数说明 boa的配置文件是/etc/boa/boa.conf.Port:boa服务器监听的端口,默认的端口是80.如果端口小于1024,则必须是  root用户启动服务器. ...

  10. [Perl] Getopt 函数来接收用户参数的使用

    我们在linux常常用到一个程序需要加入参数,现在了解一下perl中的有关控制参数的函数.getopt.在linux有的参数有二种形式.一种是–help,另一种是-h.也就是-和–的分别.–表示完整参 ...