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: ...
随机推荐
- BZOJ 2330: [SCOI2011]糖果( 差分约束 )
坑爹...要求最小值要转成最长路来做.... 小于关系要转化一下 , A < B -> A <= B - 1 ------------------------------------ ...
- Java开发中常见的危险信号(上)
本文来源于我在InfoQ中文站原创的文章,原文地址是:http://www.infoq.com/cn/news/2013/12/common-red-flags-in-java-1 Dustin Ma ...
- 纠错记录(Could not open the editor: Android XML Editor cannot process this input.)
Eclipse无法打开xml文件 preference->general->edit->file association->file types->选择.xml,然后在a ...
- C-整数划分
将正整数 n 表示成一系列正整数之和, n=n1+n2+…+nk, 其中 n1>=n2>=…>=nk>=1 , k>=1 . 正整数 n 的这种表示称为正整数 n 的划分 ...
- malloc & free
动态分配内存 #include<stdio.h> #include<stdlib.h> int compare_integers(void const *a,void cons ...
- 分享非常有用的Java程序(关键代码)(七)---抓屏程序
原文:分享非常有用的Java程序(关键代码)(七)---抓屏程序 import java.awt.Dimension; import java.awt.Rectangle; import java.a ...
- 墙内安装nautilus-dropbox 1.6.0-2
软件包:nautilus-dropbox 版本号:1.6.0-2 # aptitude install nautilus-dropbox # less `which dropbox` 查找到下载链接: ...
- 17.1 Replication Configuration 复制:
17.1 Replication Configuration 复制: 17.1.1 How to Set Up Replication 17.1.2 Replication Formats 17.1. ...
- hdu 1166 敌兵布阵(线段树,树状数组)
http://acm.hdu.edu.cn/showproblem.php?pid=1166 直接线段树模板 AC代码: #include<iostream> #include<cs ...
- struts2之高危远程代码执行漏洞,可造成服务器被入侵,下载最新版本进行修复
Struts2 被发现存在新的高危远程代码执行漏洞,可造成服务器被入侵,只要是Struts2版本 低于 2.3.14.3 全部存在此漏洞.目前官方已经发布了最新的版本进行修复.请将stru ...