mybatis CRUD
方法一:通过配置文件
<?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="test2.userMapper">
<insert id="addUser" parameterType="test.User">
insert into users(name, age) values(#{name}, #{age})
</insert> <delete id="deleteUser" parameterType="int">
delete from users where id=#{id}
</delete> <update id="updateUser" parameterType="test.User">
update users set name=#{name}, age=#{age} where id=#{id}
</update> <select id="getAllUsers" resultType="test.User">
select * from users
</select>
</mapper>
然后在conf里配置
使用方式:
String resource = "conf.xml";
InputStream is = Test.class.getClassLoader().getResourceAsStream(resource);
SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(is);
SqlSession session = factory.openSession();
String statement = "test.userMapper.getUser";
User user = session.selectOne(statement, 2);
System.out.println(user);
方式二:注释
package test3; 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; import test.User; public interface UserMapper { @Insert("insert into users(name, age) values(#{name}, #{age})")
public int addUser(User user); @Delete("delete from users where id=#{id}")
public int deleteById(int id); @Update("update users set name=#{name}, age=#{age} where id=#{id}")
public int update(User user); @Select("select * from users where id=#{id}")
public User getById(int id); @Select("select * from users")
public List<User> getAll();
}
然后在conf里配置
<mappers>
<mapper resource="test/userMapper.xml"/>
<mapper resource="test2/userMapper.xml"/>
<mapper class="test3.UserMapper"/>
</mappers>
使用方式:
String resource = "conf.xml";
InputStream is = Test.class.getClassLoader().getResourceAsStream(resource);
SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(is);
SqlSession session = factory.openSession(true);
UserMapper mapper = session.getMapper(UserMapper.class);
int add = mapper.addUser(new User(-1, "SS", 45));
System.out.println(add);
session.close();
注意:UserMapper不能和userMapper.xml在同一个包下,例如都是test2然后注册的话会产生冲突,即使一个是userMapper一个是UserMapper
mybatis CRUD的更多相关文章
- [MyBatis]完整MyBatis CRUD工程
下载地址:https://files.cnblogs.com/files/xiandedanteng/Person191005.rar pom.xml:这个文件主要是引入依赖 <project ...
- 【MyBatis】MyBatis CRUD
MyBtis CRUD 文章源码 基于代理 DAO 的 CRUD 根据 ID 查询操作 在持久层接口中添加 findById 方法: public interface UserDAO { /** * ...
- mybatis crud 学习总结02
1.db.properties 原因:数据库的连接直接写到配置(mybati-config.xml)里存在安全隐患 解决:将配置的信息放到一个文件中管理 右键resources --> File ...
- MyBatis crud操作
Test2.java package com.mycom.mybatis_1.crud; import java.util.List; import org.apache.ibatis.session ...
- MyBatis CRUD Java POJO操作
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PUBLIC ...
- 1.SpringBoot整合Mybatis(CRUD的实现)
准备工具:IDEA jdk1.8 Navicat for MySQL Postman 一.新建Project 选择依赖:mybatis Web Mysql JDBC 项目结构 pom依赖: & ...
- Mybatis的CRUD案例
一.Mybatis增删改查案例 上一节<Mybatis入门和简单Demo>讲了如何Mybatis的由来,工作流程和一个简单的插入案例,本节主要继上一讲完整的展示Mybatis的CRUD操作 ...
- MyBatis之二:简单增删改查
这一篇在上一篇的基础上简单讲解如何进行增删改查操作. 一.在mybatis的配置文件conf.xml中注册xml与注解映射 <!-- 注册映射文件 --> <mappers> ...
- 浅谈mybatis如何半自动化解耦
在JAVA发展过程中,涌现出一系列的ORM框架,JPA,Hibernate,Mybatis和Spring jdbc,本系列,将来研究Mybatis. 通过研究mybatis源码,可将mybatis的大 ...
随机推荐
- android 屏幕适配问题【转】
如何将一个应用程序适配在不同的手机上,虽然这不算是一个技术问题,但是对于刚刚做屏幕的开发人员来说,还真不是一件多么简单的事情. 首先:你需要在AndroidManifest.xml文件的<m ...
- golang之匿名函数
package main import "fmt" /* squares返回一个匿名函数 * 该匿名函数每次调用返回下一个数的平方 * func name(parameter-li ...
- 转换成CSV文件、Word、Excel、PDF等的方法--读取CSV文件的方法
1. 转换成CSV文件: http://www.dotnetgallery.com/lab/resource93-Export-to-CSV-file-from-Data-Table-in-Aspne ...
- FINDPEAKS - matlab函数
FINDPEAKS Find local peaks in data PKS = FINDPEAKS(X) finds local peaks in the data vector X. A loca ...
- Redis中各种方法的使用
①set ; i< ; i++) { // 不可以重复添加数据 client.AddItemToSet(KKey, "dong升-" + i); } client.Remov ...
- JQ插件开发方法
由于项目原因,不得不写个JQ侧滑插件来满足需求.. 先引用两篇博文,待测试了 再写怎么做.. http://blog.csdn.net/business122/article/details/8278 ...
- “use strict”对js的影响
一:全局变量显示声明 在正常模式下,如果一个变量没有声明就赋值,默认是全局变量,严格模式禁止用这种方法.全局变量必须显示声明. ; i++) { function f2() { } // 语法错误 } ...
- idea修改文件名后出现main method should be static错误
1.确保你有main方法 2.别忘了main方法里还有参数: String[] args
- Use API to retrieve data from internet
Reference: Working with APIs Many big companies and organizations provide API for us to retrieve dat ...
- HelloX项目github协同开发指南
概述 为了提高协同开发效率,HelloX项目已托管到github网站上.根据目前的开发进展,创建了下列几个子项目: HelloX操作系统内核项目:https://github.com/hellox-p ...