mybatis 的简单使用
须要用到的包:(这里仅仅是当中一个版本号。其它的百度)
mysql-connector-java-5.1.6-bin
先看项目文件夹:
配置文件mybatisconfig.xml:
<? xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<!-- 用XML映射的时候必须配此项! 指定mappers里面的返回值相应的实体类 -->
<!-- <typeAliases>
<typeAlias alias="User" type="com.miquan.mybatis.bean.User"/>
</typeAliases> -->
<!-- JDBC配置 -->
<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://localhost:3306/weixinface"/>
<property name="username" value="root"/>
<property name="password" value=""/>
</dataSource>
</environment>
</environments>
<!-- mappers,每一个实体类相应着一个xml -->
<mappers>
<mapper resource="com/miquan/mybatis/bean/User.xml"/>
</mappers>
</configuration>
实体类User.java:
package com.miquan.mybatis.bean;
public class User {
private int id;
private String userName;
private String password;
public User(int id, String userName, String password) {
super();
this.id = id;
this.userName = userName;
this.password = password;
}
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 getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
User.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">
<!-- namespace相应着接口类 -->
<mapper namespace="com.miquan.mybatis.inter.IUserOperation">
<!-- <select id="selectById" parameterType="int" resultType="User">
select * from User where id = #{id}
</select> -->
</mapper>
IUserOperation.java:
package com.miquan.mybatis.inter; 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 com.miquan.mybatis.bean.User; public interface IUserOperation {
@Select("select * from User where id = #{id}")
public User selectById(int id); @Select("select * from User where userName = #{userName}")
public List<User> selectUsers(String userName); @Insert("insert into User values(null, #{userName}, #{password})")
public boolean addUser(User user); @Delete("delete from User where id = #{id}")
public boolean delUser(int id); @Update("update User "
+ "set userName = #{userName}, "
+ "password = #{password} "
+ "where id = #{id}")
public boolean updateUser(User user);
}
注意:此处接口不支持多态。
(不知道为什么。用着就是不能够。
。。方法名不能一样)
最后进行測试:Test.java:
package com.miquan.mybatis.test; import java.io.InputStream;
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.miquan.mybatis.bean.User;
import com.miquan.mybatis.inter.IUserOperation; public class Test {
static SqlSession session; public static void main(String[] args) {
try {
//获取session
InputStream is = Resources.getResourceAsStream("mybatisconfig.xml");
SqlSessionFactory sqlSessionFactory =
new SqlSessionFactoryBuilder().build(is);
session = sqlSessionFactory.openSession(); //XML配置相应使用方法
// User user = session.selectOne("com.miquan.mybatis.bean.UserDB.selectById", 1);
// System.out.println(user.toString()); //接口调使用方法
//////注意:insert、delete和update方法调用之后必须commit才干真正的改变数据
IUserOperation userOperation = session.getMapper(IUserOperation.class); //查
// User user = userOperation.selectById(1);
// System.out.println(user.toString()); //查找List
// List<User> users = userOperation.selectUsers("miquan");
// System.out.println(users.size()); //增
// User user = new User();
// user.setUserName("zhiquan");
// user.setPassword("999");
// userOperation.addUser(user);
// session.commit(); //删
// userOperation.delUser(7);
// session.commit(); //改
User user = new User(8, "qiantu", "shaxppp");
userOperation.updateUser(user);
session.commit();
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
session.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
简单的增删查改能够实现了。
mybatis 的简单使用的更多相关文章
- Mybatis框架简单使用
Mybatis框架简单使用 环境搭建 新建一个JavaWeb项目,在web\WEB-INF\创建lib文件,并且在其下添加Mybatis的核心包以及依赖包,以及Mysql驱动包,junit4测试包等. ...
- MyBatis(1)-简单入门
简介 什么是 MyBatis ? MyBatis 是一款优秀的持久层框架,它支持定制化 SQL.存储过程以及高级映射.MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集.My ...
- MyBatis 使用简单的 XML或注解用于配置和原始映射
MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis .My ...
- 单独使用MyBatis的简单示例
单独使用MyBatis的简单示例:mybaties-config.xml:MyBatis配置文件 <?xml version="1.0" encoding="UTF ...
- Mybatis的简单增删改查
刚开始学习Mybatis可以先看下官方文档,MyBatis是支持定制化SQL.存储过程以及高级映射的优秀的持久层框架.MyBatis避免了几乎所有的JDBC代码和手工设置参数以及抽取结果集.MyBat ...
- Mybatis实现简单的CRUD(增删改查)原理及实例分析
Mybatis实现简单的CRUD(增删改查) 用到的数据库: CREATE DATABASE `mybatis`; USE `mybatis`; DROP TABLE IF EXISTS `user` ...
- Mybatis实现简单增删改查
Mybatis的简单应用 学习内容: 需求 环境准备 代码 总结: 学习内容: 需求 使用Mybatis实现简单增删改查(以下是在IDEA中实现的,其他开发工具中,代码一样) jar 包下载:http ...
- MyBatis学习--简单的增删改查
jdbc程序 在学习MyBatis的时候先简单了解下JDBC编程的方式,我们以一个简单的查询为例,使用JDBC编程,如下: Public static void main(String[] args) ...
- Mybatis的简单示例
首先新建一个JavaWeb项目并导入mybatis依赖的jar包,同时Mybatis是对数据库的操作所以我们需要在数据库中新建一个表user用来演示. 新建完表之后我们还需要建立相对应的实体类User ...
- MyBatis的简单操作
这里将的是简单的增.删.改.查等基本操作 首先创建java项目,导入相应的依赖包,这里可以参考上一篇博客 1.添加数据 在jike.book.pojo包中,新建java类 JiKeUser.java: ...
随机推荐
- 自己定义progressdialog,改善用户体验
自己定义progressdialog,改善用户体验 效果图: 详细实现方式: 1.定义Dialog的Layout布局 2.设置动画anim 3.创建自己定义dialog的样式 4.创建共同拥有方法来控 ...
- XML(三)
使用 XSLT 显示 XML -------------------------------------------------------------------------------- 通 ...
- 回归基础从新认识——HTML+CSS
前言 这段时间工作没那么繁杂,索性就想说来套系统的学习,之前去面试的时候,有被问及些基础的知识,居然回答不上来,也不能说是回答不上吧,回答的不全面.前端群上问了那个机构比较好,选择了慕课网.看了一段时 ...
- LifecyclePhaseNotFoundException(转)
This error is generated if you try to invoke a build command that Maven does not understand. In gene ...
- 1、Zookeeper熟悉和用途综述
集群 配置: 192.168.32.80 192.168.32.81 192.168.32.82 server 1: zjtest7-redis:/opt/zookeeper/conf# cat zo ...
- Python 文本解析器
Python 文本解析器 一.课程介绍 本课程讲解一个使用 Python 来解析纯文本生成一个 HTML 页面的小程序. 二.相关技术 Python:一种面向对象.解释型计算机程序设计语言,用它可以做 ...
- 【PAT】1041. Be Unique (20)
题目链接:http://pat.zju.edu.cn/contests/pat-a-practise/1041 题目描述: Being unique is so important to people ...
- android5.0(Lollipop) BLE Peripheral深入理解系统篇之提高篇
上一篇文章讲到了广播之前系统需要进行的准备工作,那接下来我们就来真正的启动广播. 首先还是先看一下上一篇文章结束的地方: @Override public void onClientRegistere ...
- vim: 搭建vim看代码的环境
使用 vim + ctags + cscope + taglist 阅读源码 http://my.oschina.net/u/554995/blog/59927 vim tab变空格 http:// ...
- windows下安装mysql5.6.13的主从复制
如下操作均在vmware 虚拟机中winows xp 测试成功 中间走了很多弯路,网上的很多资料都是针对5.1以前的版本,在新版中根本无法使用,所以根据自己的实践整理了这篇文章 主服务:192.168 ...