springstrutsmybatis-annotation
来源:互联网 发布:大连品牌网络推广公司 编辑:程序博客网 时间:2024/06/08 00:43
第一步:
index.html
<!DOCTYPE html><html><head><meta charset="UTF-8"><title>注册页面</title><script type="text/javascript" src="easyui/js/jquery.min.js"></script><script type="text/javascript" src="js/regist.js"></script></head><body> <fieldset> <legend>注册页面</legend> <input type="text"id="name" placeholder="用户名"> <input type="password" id="password" placeholder="密码"> <input type="date" id="birthday" placeholder="出生日期"> <input type="text" id="address" placeholder="地址"> <button type="button" id="regist">注册</button> </fieldset></body></html>第二 步:index.js
$(function(){$.post("findAll.action",function(data){var lists = data.list;var TBODY = $("#tbody");$.each(lists,function(index,user){var TR = $("<tr></tr>");var idTD = $("<td>"+user.id+"</td>");var nameTD = $("<td>"+user.name+"</td>");var passwordTD = $("<td>"+user.password+"</td>");var birthdayTD = $("<td>"+user.birthday+"</td>");var addressTD = $("<td>"+user.address+"</td>");TBODY.append(TR);TR.append(idTD).append(nameTD).append(passwordTD).append(birthdayTD).append(addressTD);})})})
第三步:调到对应的Action
package org.xxy.syp.actions;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import java.util.ArrayList;import java.util.Date;import java.util.HashMap;import java.util.List;import java.util.Map;import javax.annotation.Resource;import org.apache.poi.hssf.usermodel.HSSFCell;import org.apache.poi.hssf.usermodel.HSSFRow;import org.apache.poi.hssf.usermodel.HSSFSheet;import org.apache.poi.hssf.usermodel.HSSFWorkbook;import org.apache.poi.ss.usermodel.Workbook;import org.apache.poi.xssf.usermodel.XSSFCell;import org.apache.poi.xssf.usermodel.XSSFRow;import org.apache.poi.xssf.usermodel.XSSFSheet;import org.apache.poi.xssf.usermodel.XSSFWorkbook;import org.apache.struts2.convention.annotation.Action;import org.apache.struts2.convention.annotation.ParentPackage;import org.apache.struts2.convention.annotation.Result;import org.springframework.context.annotation.Scope;import org.springframework.stereotype.Controller;import org.xxy.syp.entity.Chart;import org.xxy.syp.entity.User;import org.xxy.syp.service.UserService;import com.opensymphony.xwork2.ActionSupport;import net.sf.json.JSONObject;@Controller@Scope(value="prototype")@ParentPackage(value="User")public class RegistAction extends ActionSupport{private static final long serialVersionUID = 1L;private User user;@Resourceprivate UserService usi;private String result;private List<User> list;private String query;private Integer rows;private Integer page;private String sort;private String order;private JSONObject js;public JSONObject getJs() {return js;}public void setJs(JSONObject js) {this.js = js;}public String getSort() {return sort;}public void setSort(String sort) {this.sort = sort;}public String getOrder() {return order;}public void setOrder(String order) {this.order = order;}public String getQuery() {return query;}public void setQuery(String query) {this.query = query;}public Integer getRows() {return rows;}public void setRows(Integer rows) {this.rows = rows;}public Integer getPage() {return page;}public void setPage(Integer page) {this.page = page;}public List<User> getList() {return list;}public void setList(List<User> list) {this.list = list;}public String getResult() {return result;}public void setResult(String result) {this.result = result;}public User getUser() {return user;}public void setUser(User user) {this.user = user;}@Action(value="regist",results= {@Result(name=SUCCESS,type="json")})public String regist() {boolean flag = usi.regist(user);if(flag) {result = "ok";}else {result ="fail";}return SUCCESS;}//@Action(value="findAll",results= {@Result(name=SUCCESS,type="json",params= {"root","list"})})//public String findAll() {//list = usi.findAll();//return SUCCESS;//}//@Action(value="findByCondition",results= {@Result(name=SUCCESS,type="json",params= {"root","js"})})//public String findAll() {//list = usi.findByCondition(query, page, rows);//Map<String, Object> map = new HashMap();//map.put("rows", list);//map.put("total", usi.findAll(query).size());//js=JSONObject.fromObject(map);//System.out.println(js+"**********");//return SUCCESS;//}@Action(value="findByCondition",results= {@Result(name=SUCCESS,type="json",params= {"root","js"})})public String findByCondition() {list = usi.findByCondition(query, page, rows, sort, order);Map<String, Object> map = new HashMap<String, Object>();map.put("rows", list);map.put("total", usi.findAll(query).size());js=JSONObject.fromObject(map);return SUCCESS;}@Action(value="findAll",results= {@Result(name=SUCCESS,type="json",params= {"root","js"})})public String findAll() {list = usi.findAll();Map<String, Object> map = new HashMap<String, Object>();map.put("rows", list);map.put("total", usi.findAll().size());js=JSONObject.fromObject(map);return SUCCESS;}@Action(value="addSave",results= {@Result(name=SUCCESS,type="json",params= {"root","result"})})public String addSave() {user.setBirthday(new Date());boolean flag = usi.insert(user);System.out.println(flag+"****"); if(flag){result="ok";}else{result="fail";}return SUCCESS;}@Action(value="getChartData",results= {@Result(name=SUCCESS,type="json",params= {"root","js"})})public String getChartData() {//user.setBirthday(new Date());List<User> list= usi.finUserIdNameByIds(result);List list1 = new ArrayList<Chart>();List list2 = new ArrayList();for(int i =0;i<list.size();i++) {list1.add(list.get(i).getId());list2.add(list.get(i).getName());}Map map = new HashMap<>();map.put("name",list2);map.put("data",list1);js=JSONObject.fromObject(map);return SUCCESS;}@Action(value="exportExcel",results= {@Result(name=SUCCESS,type="json",params= {"root","result"})})public String exportExcel() throws FileNotFoundException, IOException {List<User> list2 = usi.findUsersByIds(result);System.out.println(list2);HSSFWorkbook workbook = new HSSFWorkbook();HSSFSheet sheet = workbook.createSheet("mysheet");HSSFRow row1 = sheet.createRow(0);row1.createCell(0).setCellValue("编号");row1.createCell(1).setCellValue("姓名");row1.createCell(2).setCellValue("密码");row1.createCell(3).setCellValue("日期");row1.createCell(4).setCellValue("地址");for(int i=0;i<list2.size();i++) {HSSFRow rows = sheet.createRow(i+1);User user1 = list2.get(i); rows.createCell(0).setCellValue(user1.getId()); rows.createCell(1).setCellValue(user1.getName()); rows.createCell(2).setCellValue(user1.getPassword()); rows.createCell(3).setCellValue(user1.getBirthday()); rows.createCell(4).setCellValue(user1.getAddress());}workbook.write(new FileOutputStream("D:\\user"+new Date().getTime()+".xls"));result="ok";return SUCCESS;}@Action(value="importExcel",results= {@Result(name=SUCCESS,type="json",params= {"root","result"})})public String importExcel() throws IOException {HSSFWorkbook workbook = new HSSFWorkbook(new FileInputStream("D:\\user.xls"));HSSFSheet sheet = workbook.getSheetAt(0);int lastRowNum = sheet.getLastRowNum();for(int i=1;i<lastRowNum;i++) {HSSFRow row = sheet.getRow(i);User user = new User();user.setName(row.getCell(1).getStringCellValue());user.setPassword(row.getCell(2).getStringCellValue());user.setBirthday(row.getCell(3).getDateCellValue());user.setAddress(row.getCell(4).getStringCellValue());System.out.println(user);boolean flag = usi.insert(user);}return SUCCESS;}}第四步:配置struts.xml文件
<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN" "http://struts.apache.org/dtds/struts-2.5.dtd"><struts> <constant name="struts.objectFactory" value="spring"/> <constant name="struts.devMode" value="true"></constant> <package name="User" extends="json-default"> <global-results> <result name="input">regist.html</result> <result name="error">error.html</result> </global-results> </package></struts>第五步:web.xml
<?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1"> <display-name>ssh-demo</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> <filter> <filter-name>struts2</filter-name> <filter-class>org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter</filter-class> </filter> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>*.action</url-pattern> </filter-mapping> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener></web-app>
配置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" xmlns:context="http://www.springframework.org/schema/context"xmlns:tx="http://www.springframework.org/schema/tx" xmlns:aop="http://www.springframework.org/schema/aop"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.3.xsdhttp://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.3.xsdhttp://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.3.xsd"><!-- 扫面组件 --><context:component-scan base-package="org.xxy" /><!-- aop注解驱动 --><aop:aspectj-autoproxy /><bean id="dataSource" class="org.apache.ibatis.datasource.pooled.PooledDataSource"><property name="driver" value="oracle.jdbc.OracleDriver" /><property name="url" value="jdbc:oracle:thin:@localhost:1521:xe" /><property name="username" value="admin" /><property name="password" value="1" /></bean><bean id="sqlsessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"><property name="dataSource" ref="dataSource" /><property name="configLocation" value="WEB-INF/configuration.xml" /></bean><bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"><property name="dataSource" ref="dataSource"/></bean><tx:annotation-driven transaction-manager="transactionManager" /></beans>
配置configuration.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><mappers><mapper resource="org/xxy/syp/entity/User.mapper.xml" /></mappers></configuration>6.dao
package org.xxy.syp.dao;import java.util.List;import org.xxy.syp.entity.User;public interface UserDao {public Integer addUser(User user);public List<User> findAll(String query);public List<User> findAll();public List<User> findByCondition(String query,Integer page,Integer rows,String sort,String order);public boolean insert(User user);public User findUserByID(Integer id);public List<User> findUsersByIds(String ids);public List<User> finUserIdNameByIds(String ids);}7.dao.impl
package org.xxy.syp.dao.impl;import java.util.List;import javax.annotation.Resource;import org.apache.ibatis.session.SqlSession;import org.apache.ibatis.session.SqlSessionFactory;import org.springframework.stereotype.Repository;import org.xxy.syp.dao.UserDao;import org.xxy.syp.entity.User;@Repository(value="userDao")public class UserDaoImpl implements UserDao{@Resourceprivate SqlSessionFactory sqlSessionFactory;@Overridepublic Integer addUser(User user) {SqlSession sqlSession = sqlSessionFactory.openSession();UserDao userDao = sqlSession.getMapper(UserDao.class);userDao.addUser(user);return 1;}@Overridepublic List<User> findAll() {SqlSession sqlSession = sqlSessionFactory.openSession();UserDao userDao = sqlSession.getMapper(UserDao.class);List<User> list = userDao.findAll();return list;}@Overridepublic List<User> findByCondition(String query, Integer page, Integer rows, String sort, String order) {return null;}@Overridepublic boolean insert(User user) {return false;//Session session = sessionFactory.getCurrentSession();// session.save(user);//return false;}@Overridepublic User findUserByID(Integer id) {return null;//Session session = sessionFactory.getCurrentSession();//User user = (User) session.get(User.class, id);//return user;}@Overridepublic List<User> findAll(String query) {// TODO Auto-generated method stubreturn null;}@Overridepublic List<User> findUsersByIds(String ids) {SqlSession sqlSession = sqlSessionFactory.openSession();UserDao userDao = sqlSession.getMapper(UserDao.class);List<User> list = userDao.findUsersByIds(ids);return list;}@Overridepublic List<User> finUserIdNameByIds(String ids) {SqlSession sqlSession = sqlSessionFactory.openSession();UserDao userDao = sqlSession.getMapper(UserDao.class);List<User> list = userDao.finUserIdNameByIds(ids);return list;}}8.servivce
import java.util.List;
import org.xxy.syp.entity.User;
public interface UserService {
public boolean regist(User user);
public List<User> findAll(String query);
// public List<User> findByCondition(String query, Integer page, Integer rows);
public List<User> findByCondition(String query, Integer page, Integer rows, String sort, String order);
public boolean insert(User user);
public User findUserByID(Integer id);
public List<User> findAll();
public List<User> findUsersByIds(String ids);
public List<User> finUserIdNameByIds(String ids);
}
9.serviceimpl
package org.xxy.syp.service.impl;
import java.util.List;
import javax.annotation.Resource;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
import org.xxy.syp.dao.UserDao;
import org.xxy.syp.entity.User;
import org.xxy.syp.service.UserService;
@Service(value="usi")
@Transactional(propagation=Propagation.REQUIRED)
public class UserServiceImpl implements UserService{
@Resource
private UserDao userDao;
@Override
public boolean regist(User user) {
Integer num = userDao.addUser(user);
if(num!=null) {
return true;
}else{
return false;
}
}
@Override
public List<User> findAll() {
return userDao.findAll();
}
// @Override
// public List<User> findByCondition(String query, Integer page, Integer rows) {
// return userDao.findByCondition(query, page, rows);
// }
@Override
public List<User> findByCondition(String query, Integer page, Integer rows, String sort, String order) {
return userDao.findByCondition(query, page, rows, sort, order);
}
@Override
public boolean insert(User user) {
Integer user1 = userDao.addUser(user);
if(user1!=null) {
return true;
}else
{
return false;
}
}
public User findUserByID(Integer id) {
return userDao.findUserByID(id);
}
@Override
public List<User> findAll(String query) {
// TODO Auto-generated method stub
return null;
}
@Override
public List<User> findUsersByIds(String ids) {
String str="";
if(ids.startsWith("undefined")) {
int begin = ids.indexOf(",");
str=ids.substring(begin+1);
}else {
str=ids;
}
String value = "("+str+")";
List<User> list = userDao.findUsersByIds(value);
return list;
}
@Override
public List<User> finUserIdNameByIds(String ids) {
String str="";
if(ids.startsWith("undefined")) {
int begin = ids.indexOf(",");
str=ids.substring(begin+1);
}else {
str=ids;
}
String value = "("+str+")";
List<User> list = userDao.finUserIdNameByIds(value);
return list;
}
}
10.entity
chart
package org.xxy.syp.service.impl;
import java.util.List;
import javax.annotation.Resource;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
import org.xxy.syp.dao.UserDao;
import org.xxy.syp.entity.User;
import org.xxy.syp.service.UserService;
@Service(value="usi")
@Transactional(propagation=Propagation.REQUIRED)
public class UserServiceImpl implements UserService{
@Resource
private UserDao userDao;
@Override
public boolean regist(User user) {
Integer num = userDao.addUser(user);
if(num!=null) {
return true;
}else{
return false;
}
}
@Override
public List<User> findAll() {
return userDao.findAll();
}
// @Override
// public List<User> findByCondition(String query, Integer page, Integer rows) {
// return userDao.findByCondition(query, page, rows);
// }
@Override
public List<User> findByCondition(String query, Integer page, Integer rows, String sort, String order) {
return userDao.findByCondition(query, page, rows, sort, order);
}
@Override
public boolean insert(User user) {
Integer user1 = userDao.addUser(user);
if(user1!=null) {
return true;
}else
{
return false;
}
}
public User findUserByID(Integer id) {
return userDao.findUserByID(id);
}
@Override
public List<User> findAll(String query) {
// TODO Auto-generated method stub
return null;
}
@Override
public List<User> findUsersByIds(String ids) {
String str="";
if(ids.startsWith("undefined")) {
int begin = ids.indexOf(",");
str=ids.substring(begin+1);
}else {
str=ids;
}
String value = "("+str+")";
List<User> list = userDao.findUsersByIds(value);
return list;
}
@Override
public List<User> finUserIdNameByIds(String ids) {
String str="";
if(ids.startsWith("undefined")) {
int begin = ids.indexOf(",");
str=ids.substring(begin+1);
}else {
str=ids;
}
String value = "("+str+")";
List<User> list = userDao.finUserIdNameByIds(value);
return list;
}
}
user
package org.xxy.syp.entity;
import java.util.Date;
/**
* 注册实体类
* @author Administrator ByTime:2017/9/7
*
*/
public class User {
/**
* 编号
*/
private Integer id;
/**
* 姓名
*/
private String name;
/**
* 密码
*/
private String password;
/**
* 出生日期
*/
private Date birthday;
/**
* 住址
*/
private String address;
public Integer getId() {
return id;
}
public void setId(Integer 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 Date getBirthday() {
return birthday;
}
public void setBirthday(Date birthday) {
this.birthday = birthday;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
@Override
public String toString() {
return "User [id=" + id + ", name=" + name + ", password=" + password + ", birthday=" + birthday + ", address="
+ address + "]";
}
public User() {
}
public User(Integer id, String name, String password, Date birthday, String address) {
this.id = id;
this.name = name;
this.password = password;
this.birthday = birthday;
this.address = address;
}
public User(Integer id, String name) {
this.id = id;
this.name = name;
}
}
11.User.mapper.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">
<mapper namespace="org.xxy.syp.dao.UserDao" >
<insert id="addUser">
<selectKey keyProperty="id" order="BEFORE" resultType="int">
select user_seq.nextval from dual
</selectKey>
insert into user_tab(id,name,password,birthday,address) values(#{id},#{name},#{password},#{birthday},#{address})
</insert>
<select id="findAll" resultType="org.xxy.syp.entity.User">
select * from user_tab
</select>
<select id="findUsersByIds" resultType="org.xxy.syp.entity.User">
select * from user_tab where id in ${value}
</select>
<select id="finUserIdNameByIds" resultType="org.xxy.syp.entity.User">
select id,name from user_tab where id in ${value}
</select>
</mapper>
TimeImpl
package org.xxy.syp.log.impl;
import java.util.Arrays;
import org.apache.log4j.Logger;
import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.annotation.Around;
import org.aspectj.lang.annotation.Aspect;
import org.springframework.stereotype.Service;
@Aspect
@Service
public class TimeImpl {
@Around(value = "execution(* org.xxy.syp.dao.*.*(..))")
public Object print(ProceedingJoinPoint pjp) throws Throwable {
// Logger.getLogger(pjp.getTarget().getClass()).debug(pjp.getTarget().getClass()+pjp.getSignature().getName()+":("+Arrays.toString(pjp.getArgs())+")");
Object object = pjp.proceed();
// Logger.getLogger("result:"+object);
return object;
}
}
- springstrutsmybatis-annotation
- annotation
- Annotation
- Annotation
- Annotation
- Annotation
- Annotation
- Annotation
- Annotation
- annotation
- Annotation
- Annotation
- @Annotation
- Annotation
- Annotation
- Annotation
- Annotation
- Annotation
- Python异常编码处理
- HDU 1520 Anniversary party——树形dp
- Java程序性能优化 读书笔记(七)设计模式:ValueObject模式
- git如何拉取远程分支
- Java中Servlet的使用(一)——Hello Servlet
- springstrutsmybatis-annotation
- 分页查询简约代码显示
- 动态规划初步
- spring整合数据库连接池
- 读书笔记:《人工智能》
- linux 下查看有当前文件夹有多少个文件
- Vim教程
- CentOS7 升级 Git 到最新版
- Python2.7中input和raw_input函数有什么区别