//实体
package com.flanet.model;
public class UserTab {
private int userid;
private String username;
private String userpwd;
private String hobby;
public int getUserid() {
return userid;
}
public void setUserid(int userid) {
this.userid = userid;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
//业务实现
package com.flanet.service.impl;
import java.util.List;
import com.flanet.dao.UserTabDao;
import com.flanet.dao.impl.UserTabDaoImpl;
import com.flanet.model.UserTab;
import com.flanet.service.UserTabService;
public class UserTabServiceImpl implements UserTabService{
private UserTabDao userTabDao;
public UserTabDao getUserTabDao() {
return userTabDao;
}
public void setUserTabDao(UserTabDao userTabDao) {
this.userTabDao = userTabDao;
}
public void insert(UserTab u) throws Exception {
// TODO Auto-generated method stub
}
public void deleteById(int id) throws Exception {
// TODO Auto-generated method stub
}
public void updateById(UserTab u) throws Exception {
// TODO Auto-generated method stub
}
public List<UserTab> selectAll() throws Exception {
// TODO Auto-generated method stub
return userTabDao.selectAll();
}
public static void main(String[] args)throws Exception {
UserTabDaoImpl u=new UserTabDaoImpl();
List<UserTab> listuser=u.selectAll();
for (UserTab userTab : listuser) {
System.out.println(userTab.getUsername());
}
}
}
//action
package com.flanet.web;
import java.util.ArrayList;
import java.util.List;
import org.aspectj.apache.bcel.generic.NEW;
import org.w3c.dom.UserDataHandler;
import com.flanet.dao.impl.UserTabDaoImpl;
import com.flanet.model.UserTab;
import com.flanet.service.UserTabService;
import com.opensymphony.xwork2.ActionSupport;
public class UserTabAction extends ActionSupport{
private UserTabService userTabService;
public void setUserTabService(UserTabService userTabService) {
this.userTabService = userTabService;
}
private List<UserTab> list=new ArrayList<UserTab>();
public List<UserTab> getList() {
return list;
}
public void setList(List<UserTab> list) {
this.list = list;
}
public UserTabService getUserTabService() {
return userTabService;
}
/**
* 得到所有的用户
* @return
*/
public String getAllUsertab(){
try {
list=userTabService.selectAll();
} catch (Exception e) {
e.printStackTrace();
}
return "index";
}
public static void main(String[] args)throws Exception {
UserTabDaoImpl u=new UserTabDaoImpl();
List<UserTab> listuser=u.selectAll();
for (UserTab userTab : listuser) {
System.out.println(userTab.getUsername());
}
}
}
//spring配置文件:
applicationContext-dao.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="userTabDao" class="com.flanet.dao.impl.UserTabDaoImpl">
<property name="sqlMapClient" ref="sqlMapClient"></property>
</bean>
</beans>
applicationContext-service.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="userTabService" class="com.flanet.service.impl.UserTabServiceImpl">
<property name="userTabDao" ref="userTabDao"></property>
</bean>
</beans>
applicationContext-common.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 -->
<!-- <bean id="PlaceholderConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations">
<list>
<value>classpath:oracleDb.properties</value>
</list>
</property>
</bean> -->
<!-- dbcp -->
<!-- <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName" value="${driver}"></property>
<property name="url" value="${url}"></property>
<property name="username" value="${username}"></property>
<property name="password" value="${password}"></property>
</bean> -->
<bean id="dataSource"
class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="oracle.jdbc.driver.OracleDriver" />
<property name="url" value="jdbc:oracle:thin:@localhost:1521:orcl" />
<property name="username" value="scott" />
<!-- <property name="url" value="jdbc:mysql://128.18.191.100/db_mar22nd" /> -->
<!-- <property name="username" value="cpwn_dev" /> -->
<property name="password" value="accp" />
</bean>
<!-- sqlMapClinet -->
<bean id="sqlMapClient" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean">
<property name="configLocation" value="classpath:SqlMapConfig.xml"></property>
<property name="dataSource" ref="dataSource"></property>
</bean>
</beans>
applicationContext-action.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="userTabAction" class="com.flanet.web.UserTabAction">
<property name="userTabService" ref="userTabService"></property>
</bean>
</beans>
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-2.dtd">
<sqlMap >
<typeAlias alias="userTab" type="com.flanet.model.UserTab"/>
<select id="selectAllUser" resultClass="userTab" >
select * from userTab
</select>
<insert id="insertUserTab" parameterClass="userTab">
insert into userTab(userid,username,userpwd,hobby,sex) values(#userid#,#username#,#userpwd#,#hobby#,#sex#)
</insert>
<update id="updateUserTab" parameterClass="userTab">
update userTab set username=#username#,userpwd=#userpwd#,hobby=#hobby#,sex=#sex# where userid=#userid#
</update>
<delete id="deleteUserTabById" parameterClass="int">
delete from userTab where userid=#userid#
</delete>
</sqlMap>
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://127.0.0.1:3306/ibatis" />
<property name="JDBC.Username" value="root" />
<property name="JDBC.Password" value="ok" />
</dataSource>
</transactionManager>-->
<!-- 指定实体映射文件的路径 -->
<sqlMap resource="user.xml"/>
</sqlMapConfig>
log4j.properties //放到src目录下:
## LOGGERS ##
log4j.rootLogger=info,console
#log4j.rootLogger=info,console,rolling
#log4j.rootLogger=info,console,rolling,daily
log4j.logger.org=ERROR
log4j.logger.com.comp=ERROR
log4j.logger.net.sf.hibernate=ERROR
log4j.logger.net.sf.hibernate.SQL=ERROR
log4j.logger.net.sf.hibernate.type=ERROR
log4j.logger.net.sf.ehcache=ERROR
log4j.logger.org.springframework=ERROR
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=%n Level: %p%n Time: %d%n Method: %l%nMessage: %m%n
log4j.appender.rolling=org.apache.log4j.RollingFileAppender
log4j.appender.rolling.File=D:/log/rolling_log.txt
log4j.appender.rolling.MaxFileSize=100KB
log4j.appender.rolling.MaxBackupIndex=1
log4j.appender.rolling.layout=org.apache.log4j.PatternLayout
log4j.appender.rolling.layout.ConversionPattern=%nLEVEL: %p%nTIME: %d%n%l%n%m%n
log4j.appender.daily=org.apache.log4j.DailyRollingFileAppender
log4j.appender.daily.File=D:/log/Daily_log.txt
log4j.appender.daily.DatePattern='.'yyyy-MM-dd
log4j.appender.daily.layout=org.apache.log4j.PatternLayout
log4j.appender.daily.layout.ConversionPattern=%nLEVEL: %p%nTIME: %d%n%l%n%m%n
//web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
<display-name>SSI</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext-*.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<filter>
<filter-name>filterForwrd</filter-name>
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
</filter>
<filter-mapping>
<filter-name>filterForwrd</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
</web-app>
index.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@taglib uri="/struts-tags" prefix="s"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<center>
<table border="1" bgcolor="pink">
<tr>
<td>编号</td>
<td>用户名</td>
<td>密码</td>
<td>爱好</td>
<td>性别</td>
</tr>
<s:iterator value="list" id="u" status="status">
<tr>
<td><s:property value="#request.u.userid"/></td>
<td><s:property value="#request.u.username"/></td>
<td><s:property value="#request.u.userpwd"/></td>
<td><s:property value="#request.u.hobby"/></td>
<td><s:property value="#request.u.sex"/></td>
</tr>
</s:iterator>
</table>
</center>
</body>
</html>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@taglib uri="/struts-tags" prefix="s"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<center>
<table border="1" bgcolor="pink">
<tr>
<td>编号</td>
<td>用户名</td>
<td>密码</td>
<td>爱好</td>
<td>性别</td>
</tr>
<s:iterator value="list" id="u" status="status">
<tr>
<td><s:property value="#request.u.userid"/></td>
<td><s:property value="#request.u.username"/></td>
<td><s:property value="#request.u.userpwd"/></td>
<td><s:property value="#request.u.hobby"/></td>
<td><s:property value="#request.u.sex"/></td>
</tr>
</s:iterator>
</table>
</center>
</body>
</html>
注:使用jar:spring 2.0 Core Libraries ,spring 2.0 Persistence Ibatis Libraries ,spring 2.0 AOP Libraries,spring 2.0 Persistence Core Libraries
}public String getUserpwd() {return userpwd;}public void setUserpwd(String userpwd) {this.userpwd = userpwd;}public String getHobby() {return hobby;}public void setHobby(String hobby) {this.hobby = hobby;}public String getSex() {return sex;}public void setSex(String sex) {this.sex = sex;}private String sex; }
//dao接口
package com.flanet.dao;
import java.util.List;
import com.flanet.model.UserTab;
public interface UserTabDao {
public void insert(UserTab u)throws Exception;
public void deleteById(int id)throws Exception;
public void updateById(UserTab u)throws Exception;
public List<UserTab> selectAll()throws Exception;
}
//junit测试
package com.flanet.dao;
import static org.junit.Assert.fail;
import java.util.List;
import org.junit.BeforeClass;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class UserTabDaoTest {
private static ApplicationContext apt;
private static UserTabDao dao;
@BeforeClass
public static void setUpBeforeClass() throws Exception {
apt=new ClassPathXmlApplicationContext("applicationContext-common.xml");
dao=(UserTabDao)apt.getBean("userTabDao");
}
@Test
public void testInsert() {
fail("Not yet implemented");
}
@Test
public void testDeleteById() {
fail("Not yet implemented");
}
@Test
public void testUpdateById() {
fail("Not yet implemented");
}
@Test
public void testSelectAll() {
try {
List list= dao.selectAll();
System.out.println(list.size());
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
//dao实现
package com.flanet.dao.impl;
import java.util.List;
import org.springframework.orm.ibatis.support.SqlMapClientDaoSupport;
import com.flanet.dao.UserTabDao;
import com.flanet.model.UserTab;
public class UserTabDaoImpl extends SqlMapClientDaoSupport implements UserTabDao {
public void insert(UserTab u) throws Exception {
SqlMapClientDaoSupport s;
// TODO Auto-generated method stub
this.getSqlMapClientTemplate().insert("insertUserTab", u);
}
public void deleteById(int id) throws Exception {
// TODO Auto-generated method stub
this.getSqlMapClientTemplate().delete("deleteUserTabById", id);
}
public void updateById(UserTab u) throws Exception {
// TODO Auto-generated method stub
this.getSqlMapClientTemplate().update("updateUserTab", u);
}
public List<UserTab> selectAll() throws Exception {
// TODO Auto-generated method stub
return this.getSqlMapClientTemplate().queryForList("selectAllUser");
}
}
//业务接口
package com.flanet.service;
import java.util.List;
import com.flanet.model.UserTab;
public interface UserTabService {
public void insert(UserTab u)throws Exception;
public void deleteById(int id)throws Exception;
public void updateById(UserTab u)throws Exception;
public List<UserTab> selectAll()throws Exception;
}