SSI的实例(登录增删改查)
源码下载:http://download.csdn.net/detail/u011518709/8195143
主要jar包:

配置文件:web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping> <context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/applicationContext.xml</param-value>
</context-param>
<!-- 整合spring -->
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
spring配置文件:applicationContext.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd"> <bean id="transactionManager"
class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource"/>
</bean> <bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="location">
<value>/WEB-INF/jdbc.properties</value>
</property>
</bean> <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName">
<value>${jdbc.driverClassName}</value>
</property>
<property name="url">
<value>${jdbc.url}</value>
</property>
<property name="username">
<value>${jdbc.username}</value>
</property>
<property name="password">
<value>${jdbc.password}</value>
</property>
<property name="maxActive" value="100"/>
<property name="maxIdle" value="30"/>
<property name="maxWait" value="1000"/>
<property name="defaultAutoCommit" value="true"/>
<property name="removeAbandoned" value="true"/>
<property name="removeAbandonedTimeout" value="60"/>
</bean> <bean id="sqlMapClient" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean">
<property name="dataSource">
<ref bean="dataSource"/>
</property>
<property name="configLocation">
<value>/WEB-INF/sql-map-config.xml</value>
</property>
</bean>
<bean id="userdao" class="com.dao.UserDaoImpl">
<property name="sqlMapClient">
<ref bean="sqlMapClient"/>
</property>
</bean>
<bean id="userservice" class="com.service.UserServiceImpl">
<property name="userdao">
<ref bean="userdao" />
</property>
</bean> </beans>
数据库配置文件:jdbc.properties
jdbc.driverClassName=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/exe_test
jdbc.username=root
jdbc.password=root
sql-map-config.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>
<sqlMap resource="com/pojo/User.xml"/>
</sqlMapConfig>
主要介绍下:hibernate和sqlMapClient 查询的底层方法的区别:
UserdaoImpl.java
package com.dao;
import java.sql.SQLException;
import java.util.List; import com.ibatis.sqlmap.client.SqlMapClient;
import com.pojo.User;
public class UserDaoImpl implements UserDao{
private SqlMapClient sqlMapClient;
public void setSqlMapClient(SqlMapClient sqlMapClient) {
this.sqlMapClient = sqlMapClient;
} public User Login(User u) {
User user = null;
try {
user = (User)sqlMapClient.queryForObject("login", u);
} catch (SQLException e) {
e.printStackTrace();
}
return user;
} public boolean isInsert(User user) {
boolean b;
try {
sqlMapClient.insert("insert", user);
b = true;
} catch (SQLException e) {
e.printStackTrace();
b = false;
}
return b ;
} public boolean isDelete(int id){
User user = null;
boolean b;
try{
sqlMapClient.delete("delete",id);
b = true;
}catch(SQLException e){
e.printStackTrace();
b = false;
}
return b;
} public boolean update(User user) {
boolean b ;
try {
sqlMapClient.update("update", user);
b = true;
} catch (Exception e) {
b = false;
}
return b;
} public User queryById(int id ) {
User user = null;
try {
user = (User) sqlMapClient.queryForObject("querybyid",id);
} catch (SQLException e) {
e.printStackTrace();
}
return user;
} public List<User> queryAll() {
List list = null;
User user = new User();
try {
list = sqlMapClient.queryForList("queryAll",user);
} catch (SQLException e) {
e.printStackTrace();
}
return list;
}
}
User.xml (增删改查的语句)
<?xml version="1.0" encoding="gb2312" standalone="no"?>
<!DOCTYPE sqlMap PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN"
"http://www.ibatis.com/dtd/sql-map-2.dtd">
<sqlMap>
<typeAlias alias="User" type="com.pojo.User" />
<resultMap id="UserResult" class="User">
<result property="id" column="ID" />
<result property="username" column="USERNAME" />
<result property="password" column="PASSWORD" />
</resultMap> <select id="login" resultMap="UserResult" parameterClass="User">
select * from USER where USERNAME=#username# and PASSWORD=#password#
</select> <insert id="insert" parameterClass="User">
insert into USER(ID,USERNAME,PASSWORD)values(#id#,#username#,#password#)
</insert> <delete id="delete" parameterClass="int">
delete from USER where ID = #id#
</delete> <update id="update" parameterClass="User">
update USER set USERNAME=#username#,PASSWORD=#password# where ID = #id#
</update> <select id="querybyid" parameterClass="int" resultClass="User">
select * from USER where ID = #id#
</select> <select id="queryAll" parameterClass="User" resultClass="User">
select * from USER
</select>
</sqlMap>
ibatis后台查询的学习总结参考:http://blog.csdn.net/estelle_belle/article/details/41448589
SSI的实例(登录增删改查)的更多相关文章
- elasticsearch实例讲解增删改查
1.首先弄明白四个概念 elasticsearch 关系型数据库 index 数据库 type 表 document 行 field 字段 如果刚一开始理解比较困难,那你就在心中默念100遍,10遍也 ...
- Spring MVC实例(增删改查)
数据库配置文件application-context-jdbc.xml <?xml version="1.0" encoding="UTF-8"?> ...
- MVC实现登录,增删改查之数据展示:JSP的EL表达式(二)
这里的数据展示利用jsp的EL表达式,后台放入session,前台EL获取 数据库设计是这样的,一个老师对应有多个学生,在学生表student中建立外键tid与老师表teacher的tid对应,现在老 ...
- lucene4.10.2实例(增删改查)
最新jar和src免费下载:http://download.csdn.net/detail/u011518709/8248403 lucene 包的组成结构:对于外部应用来说索引模块(index)和检 ...
- node-express项目的搭建并通过mongoose操作MongoDB实现增删改查分页排序(四)
最近写了一个用node来操作MongoDB完成增.删.改.查.排序.分页功能的示例,并且已经放在了服务器上地址:http://39.105.32.180:3333. Mongoose是在node.js ...
- java连接mysql以及增删改查操作
java连接数据库的代码基本是固定的,步骤过程觉得繁琐些,代码记起来对我来说是闹挺.直接上代码: (温馨提醒:你的项目提前导入连接数据库的jar包才有的以下操作 ) class DBConnectio ...
- Day 18 :面向对象[基础,继承,组合]类的增删改查
有的人说,编程有3种范式: 1.面向过程:就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了. 2.面向函数:面向函数是面向过程的升级版,也就是把每个 ...
- 完成在本机远程连接HBase进行数据增删改查
1.进行hbase与本机远程连接测试连接 1.1 修改虚拟机文件hbase-site.xml(cd/usr/local/hbase/conf)文件,把localhost换成你的虚拟机主机名字 1.2修 ...
- IDEA搭建SSM实现登录、注册,数据增删改查功能
本博文的源代码:百度云盘/java/java实例/SSM实例/SSM实现登录注册,增删改查/IDEA搭建SSM实现登录,注册,增删改查功能.zip 搭建空的Maven项目 使用Intellij id ...
随机推荐
- TextBox禁用与启用的方法
$('#text1').textbox('enable');// 启用 $('#text1').textbox('disable');// 禁用 注:以上方法也适用于datebox等等
- 3DMAX 如何将删去的面补回来
1.例如下面长方体被删除一个面 2.点击主键盘区数字键[3] ,进入[边界]修改模式 ,使用鼠标点击 被删除面的边界,并点击[修改面板]---[封口],例如下图:
- Unity3D asset bundle 格式简析
http://blog.codingnow.com/2014/08/unity3d_asset_bundle.html Unity3D 的 asset bundle 的格式并没有公开.但为了做更好的差 ...
- String.Format 大全
0.0的格式化 string.Format("{0:8D8}", 3)//第一个8表示空8个位置,后一个8表示用0填写最多8位数据 1.格式化货币(跟系统的环境有关,中文系统默认格 ...
- NET4.5中的Task.Run及Task.Delay方法
- 自定义收索View
1 .h文件 @interface SearchNavView : UIView @property (nonatomic, copy) void(^cancleBtnBlock)(void); @p ...
- DRF教程6-分页
rest框架提供自定义分页样式,让你修改再每个页面上显示多少条数据, pagination API 可以: 分页链接作为响应内容的一部分 分页链接包含在响应头里,比如Content-Range or ...
- centos 7 安装pip和pip3
首先安装epel扩展源: yum -y install epel-release 更新完成之后,就可安装pip: yum -y install python-pip 安装完成之后清除cache: yu ...
- Qt 进程和线程之一:运行一个进程和进程间通信
Qt提供了对进程和线程的支持.本节讲述了怎样在Qt应用程序中启动一个进程,以及几种常用的进程间通信方法.如果对进程和线程的概念不是很了解,可以看我的另一篇博客:[多进程和多线程的概念. 设计应用程序时 ...
- 栈 && 教授的测试
卡特兰数:https://blog.csdn.net/wu_tongtong/article/details/78161211 https://www.luogu.org/problemnew/sho ...