1创建数据库
create table user
(
id int auto_increment primary key,
username varchar(32),
password varchar(32)
);
select * from user;
2
添加IBATIS的jar包;
3添加配置文件sqlMapConfig.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE sqlMapConfig
PUBLIC "-//ibatis.apache.org//DTD SQL Map Config 2.0//EN"
"http://ibatis.apache.org/dtd/sql-map-config-2.dtd">
<sqlMapConfig>
<transactionManager type="JDBC" commitRequired="false">
<dataSource type="SIMPLE">
<property name="JDBC.Driver" value="com.mysql.jdbc.Driver"/>
<property name="JDBC.ConnectionURL" value="jdbc:mysql://localhost:3306/mydb"/>
<property name="JDBC.Username" value="root"/>
<property name="JDBC.Password" value="admin"/>
</dataSource>
</transactionManager>
<sqlMap resource="com/wangyu/data/User.xml"/>
</sqlMapConfig>
4实体类User.java
package com.wangyu.domain;
public class User {
private Integer id;
private String username;
private String password;
// Constructors
public User() {
}
public Integer getId() {
return this.id;
}
public void setId(Integer id) {
this.id = id;
}
public String getUsername() {
return this.username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return this.password;
}
public void setPassword(String password) {
this.password = password;
}
}
5对应的.xml文件
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMap
PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN"
"http://ibatis.apache.org/dtd/sql-map-2.dtd">
<sqlMap namespace="User">
<!-- Use type aliases to avoid typing the full classname every time. -->
<typeAlias alias="User" type="com.wangyu.domain.User"/>
<!-- Select with no parameters using the result map for Account class. -->
<select id="selectAllUsers" resultClass="User">
select * from user
</select>
<!-- A simpler select example without the result map. Note the
aliases to match the properties of the target result class. -->
<select id="selectUserById" parameterClass="int" resultClass="User">
select
id as id,username as UserName ,password as Password
from user
where id = #id#
</select>
<!-- Insert example, using the Account parameter class -->
<insert id="insertUser" parameterClass="User">
insert into user (username,password) values (#username#,#password#)
</insert>
<!-- Update example, using the Account parameter class -->
<update id="updateUser" parameterClass="User" >
update user set username = #username#,password=#password# where id = #id#
</update>
<!-- Delete example, using an integer as the parameter class -->
<delete id="deleteUserById" parameterClass="int">
delete from user where id = #id#
</delete>
</sqlMap>
6.DAO类SimpleExample
package com.wangyu.data;
import java.io.IOException;
import java.io.Reader;
import java.sql.SQLException;
import java.util.List;
import com.ibatis.common.resources.Resources;
import com.ibatis.sqlmap.client.SqlMapClient;
import com.ibatis.sqlmap.client.SqlMapClientBuilder;
import com.wangyu.domain.User;
public class SimpleExample {
private static SqlMapClient sqlMapper;
static {
try {
Reader reader = Resources.getResourceAsReader("com/wangyu/data/SqlMapConfig.xml");
sqlMapper = SqlMapClientBuilder.buildSqlMapClient(reader);
reader.close();
} catch (IOException e) {
// Fail fast.
throw new RuntimeException("Something bad happened while building the SqlMapClient instance." + e, e);
}
}
public static List<User> selectAllUser () throws SQLException {
return sqlMapper.queryForList("selectAllUsers");
}
public static User selectUserById (int id) throws SQLException {
return (User) sqlMapper.queryForObject("selectUserById", id);
}
public static void insertUser (User user) throws SQLException {
sqlMapper.insert("insertUser", user);
}
public static void updateUser (User user) throws SQLException {
sqlMapper.update("updateUser", user);
}
public static void deleteUser (int id) throws SQLException {
sqlMapper.delete("deleteUserById", id);
}
}
7.测试类
package com.wangyu.data;
import java.util.Iterator;
import java.util.List;
import com.wangyu.domain.User;
public class Test {
public static void main(String[] args)throws Exception {
User u =new User();
//添加用户
// for (int i =1;i<10;i++){
// u.setPassword("password"+i);
// u.setUsername("username"+i);
// SimpleExample.insertUser(u);
// }
//删除用户 -->没有不会抛出异常
SimpleExample.deleteUser(2);
//修改用户
User user =SimpleExample.selectUserById(6) ;
user.setPassword("zhuangsan");
user.setUsername("zhangsan");
SimpleExample.updateUser(user);
//System.out.println(user.getPassword());
//查询所有用户
List<User> list = SimpleExample.selectAllUser();
Iterator<User> rt=list.iterator();
while(rt.hasNext()){
User us = (User)rt.next();
System.out.println(us.getId()+"--->"+us.getPassword()+"--->"+us.getUsername());
}
//按id查询 -->没有数据 -->空指针异常
User us = SimpleExample.selectUserById(6);
System.out.println(us.getUsername());
}
}
----------------------------------------------------------------------------------------------------------------------------------------------------------
iBATIS声明事事务
public static void insertUser(User user){
try {
sqlMapper.startTransaction();
sqlMapper.insert("insertUser", user);
sqlMapper.commitTransaction();
} catch (SQLException e) {
e.printStackTrace();
}finally{
try {
sqlMapper.endTransaction();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
分享到:
相关推荐
ibatis简单CRUD例子,供新手学习用。
ibaits简单操作流程: 第一步:创建POJO类 第二步:创建上述POJO类的IBatis配置文件 第三步:创建IBatis ORM框架的总配置文件SqlMapConfig.xml 第四步:创建一个测试类,检验上述配置 + 类文件
ibatis实现CRUD操作,它比学好hibernate更简单
众所周知,IBatis逐渐流行,为了让大家尽快掌握IBatis,特上传了一个最简单的IBatis增删改查操作例子,希望对大家有用!
数据库自己建一张简单的表就行了,特别说明 只适合新手入门 只有三个java文件和三个xml配置文件 非常简单 但是包含了crud操作 非常适合新手入门,因为项目经理让我熟悉一下ibatis 我就自学写了一个,希望对你有帮助
NULL 博文链接:https://cywhoyi.iteye.com/blog/835417
NULL 博文链接:https://jiaozhiguang-126-com.iteye.com/blog/1668831
springmvc+ibatis demo搭建实现CRUD操作简单 有静态页面话技术
2.2.1 iBATIS之于小型、简单系统 30 2.2.2 iBATIS之于大型、企业级系统 31 2.3 为何使用iBATIS 31 2.3.1 简单性 32 2.3.2 生产效率 32 2.3.3 性能 32 2.3.4 关注点分离 33 2.3.5 明确分工 33 2.3.6 可移植性:Java、...
通过使用Sql Maps你可以显著的节约数据库操作的代码量。SQL Maps使用一个简单的XML文件来实现从javaBean到SQL statements的映射。跟其他的框架或者对象映射工具相比,SQL Maps最大的优势是简单。它需要学习的东西很...
用Velocity自己改装的jquery+json+springMVC+ibatis简单例子 希望能帮到大家
iBatis 是一套简单易学的持久层框架,应用范围也比较广发,与jdbc 相比,简化了JDBC 的百分之61 的代码量,将Sql 语言与java 程序分离,便于维护和开发,ORM 关系映射上比 JDBC 更加容易更加方便这些有点足以让我们...
http://blog.csdn.net/alanchen520/article/details/34057279
该教程简单的介绍了用ibatis进行增删改查操作,适用于刚学习ibatis的开发人员
使用ibatis 提供的ORM 机制,对业务逻辑实现人员而言,面对的是纯粹的Java 对象, 这一层与通过Hibernate 实现ORM 而言基本一致,而对于具体的数据操作,Hibernate 会自动生成SQL 语句,而ibatis 则要求...
MyBatis生成器(MBG)是MyBatis MyBatis 和iBATIS的代码生成器。...MBG试图对简单CRUD(创建,检索,更新,删除)的大部分数据库操作产生重大影响。您仍将需要手工编写SQL和对象代码以进行联接查询或存储过程。
ava struts2 + ibatis +oracle 整合简单登陆及增删改查实例
Ibatis入门教程,简单介绍利用ibatis进行增删改查操作。
一个关于ibatis对数据库进行增删改查操作的小例子,简单易学,方便大家快速掌握和运用。
iBATIS入门,简单的数据库操作,与hibernate的不同...