文章标题
来源:互联网 发布:电脑应用无法链接网络 编辑:程序博客网 时间:2024/05/17 06:14
使用Ibatis的简单demo
1.准备工作
安装好mysql数据库、eclipse和jdk,下载好ibatis-2.3.0.677.jar,mysql-connector-java-5.1.18-bin.jar
2.创建数据库,表
1>.进入mysql的安装目录,使用root账号密码登录
2>.创建数据库bbs,创建用户,并授权
--创建数据库create database bbs;--使用数据库use bbs;--创建用户并授权create user 'test1'@'localhost' identified by '123';grant all on bbs.* to test1@localhost;--创建表create table user( id int not null auto_increment primary key, name varchar not null, email varchar, password varchar not null);
3.创建项目,我这边创建的是Web项目
1>.config目录下:
db.properties是数据库的属性配置,
SqlMapConfig.xml是ibatis的配置
ibatis文件夹下的user.xml为具体sql配置
2>.test目录下:
LoginServiceTest.java为测试类
3>src目录下为具体实现代码
代码如下:
User.java
package com.bbs.bean;public class User { private int id; private String name; private String password; private String email; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public String getEmail() { return email; } public void setEmail(String email) { this.email = email; }}
LoginService.java
package com.bbs.service;import java.sql.SQLException;import java.util.List;import com.bbs.bean.User;import com.bbs.dao.LoginDao;import com.bbs.dao.impl.LoginDaoImpl;public class LoginService { private static LoginDao loginDao = null; static { loginDao = new LoginDaoImpl(); } public void queryUserList() { System.out.println("queryUserList..."); try { List<User> userList = loginDao.queryUserList(); if (userList != null) { for (User user : userList) { System.out.println("name==" + user.getName()); } } } catch (SQLException e) { e.printStackTrace(); } } public void addUser(User user) { System.out.println("addUser..."); try { loginDao.addUser(user); } catch (SQLException e) { e.printStackTrace(); } } public void updateUsr(User user) { System.out.println("updateUsr..."); try { loginDao.updateUser(user); } catch (SQLException e) { e.printStackTrace(); } } public void deleteUser(int id) { System.out.println("deleteUser..."); try { loginDao.deleteUser(id); } catch (SQLException e) { e.printStackTrace(); } }}
LoginDao.java
package com.bbs.dao;import java.sql.SQLException;import java.util.List;import com.bbs.bean.User;public interface LoginDao { List<User> queryUserList() throws SQLException; void addUser(User user) throws SQLException; void updateUser(User user) throws SQLException; void deleteUser(int id) throws SQLException;}
LoginDaoImpl.java
package com.bbs.dao.impl;import java.io.IOException;import java.io.Reader;import java.sql.SQLException;import java.util.List;import com.bbs.bean.User;import com.bbs.dao.LoginDao;import com.ibatis.common.resources.Resources;import com.ibatis.sqlmap.client.SqlMapClient;import com.ibatis.sqlmap.client.SqlMapClientBuilder;public class LoginDaoImpl implements LoginDao { private static SqlMapClient sqlMapClient = null; static { try { Reader reader = Resources.getResourceAsReader("SqlMapConfig.xml"); System.out.println("初始话 sqlMapClient....."); sqlMapClient = SqlMapClientBuilder.buildSqlMapClient(reader); reader.close(); } catch (IOException e) { e.printStackTrace(); } } @SuppressWarnings("unchecked") @Override public List<User> queryUserList() throws SQLException { return sqlMapClient.queryForList("queryUserList"); } @Override public void addUser(User user) throws SQLException { sqlMapClient.insert("addUser", user); } @Override public void updateUser(User user) throws SQLException { sqlMapClient.update("updateUser", user); } @Override public void deleteUser(int id) throws SQLException { sqlMapClient.delete("deleteUser", id); }}
db.properties
driver=com.mysql.jdbc.Driverurl=jdbc:mysql://localhost:3306/bbsusername=test1password=123
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> <!-- 读取数据库配置文件 --> <properties resource="db.properties" /> <!-- 使用JDBC的事务管理 --> <transactionManager type="JDBC"> <!--读取配置文件配置 --> <dataSource type="simple"> <property name="JDBC.Driver" value="${driver}" /> <property name="JDBC.ConnectionURL" value="${url}" /> <property name="JDBC.Username" value="${username}" /> <property name="JDBC.Password" value="${password}" /> </dataSource> </transactionManager> <sqlMap resource="ibatis/user.xml"/></sqlMapConfig>
user.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-config-2.dtd"><sqlMap namespace="user"> <select id="queryUserList" resultClass="com.bbs.bean.User"> select * from user </select> <insert id="addUser" parameterClass="com.bbs.bean.User"> insert into user(name,password) value(#name#,#password#) </insert> <update id="updateUser" parameterClass="com.bbs.bean.User"> update user set name=#name# where id=#id# </update> <delete id="deleteUser" parameterClass="java.lang.Integer"> delete from user where id=#id# </delete></sqlMap>
LoginServiceTest.java
package com.bbs.service;import com.bbs.bean.User;public class LoginServiceTest { public static void main(String[] args) { LoginService loginService = new LoginService(); loginService.queryUserList(); User user = new User(); user.setName("test5"); user.setPassword("huawei5"); loginService.addUser(user); User user1 = new User(); user1.setId(3); user1.setName("test2"); loginService.updateUsr(user1); loginService.deleteUser(2); }}
运行结果如下图所示:
就这样,使用ibatis进行增删改查就实现啦。
阅读全文
0 0
- 文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题 文章标题 文章标题 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 车牌识别无感支付是什么?
- jsp标签的用法
- session的一些常用方法
- 2017.07.01 上午咨询总结
- 【React Native】React Native之Could not get BatchedBridge,make sure...的问题
- 文章标题
- 八大排序算法(4) 堆排序
- poj 1149网络流建模(转载自Edelweiss代码自己编的有点丑陋0 0)
- 40亿个非负整数中找到没出现的数
- 网络征信服务
- 解压版的Tomcat注册成 Windows操作系统服务
- BZOJ 1227 DP+树状数组 解题报告
- 初识Activiti流程设计工具
- Spring IOC的配置使用(转)