因为工作上用到spring + strtus2 + mybatis ,所以开始学习下这个框架。
这里用到的是MySQL数据库
首先从web.xml 开始
contextConfigLocation
/WEB-INF/classes/applicationContext.xml
org.springframework.web.context.ContextLoaderListener
struts2
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
struts2
/*
这里引用了struts 和spring的配置文件
struts.xml
/p>
"http://struts.apache.org/dtds/struts-2.1.7.dtd">
/success.jsp
/errer.jsp
applicationContext.xml
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.5.xsd">
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
/WEB-INF/configs/sqlServer.properties
class="org.springframework.jdbc.datasource.DriverManagerDataSource">
${jdbc.driver}
${jdbc.url}
${jdbc.user}
${jdbc.pwd}
sql的配置文件
WEB-INF/configs/sqlServer.properties
jdbc.url=jdbc:mysql://localhost:3306/login
jdbc.driver=com.mysql.jdbc.Driver
jdbc.user=root
jdbc.pwd=1234
mybatis.xml
/p>
"http://mybatis.org/dtd/mybatis-3-config.dtd">
mybatis.xml 包含的文件
Ssm\src\com\test\sqlMapper\UserInfoMapper.xml
使用接口com.test.dao.ILoginDao来管理 Dao里面的方法
select* from userinfo where username=#{userName}
select* from userinfo where id=#{id}
mybatis映射文件对应的实体类(类和数据库名一致最好)
packagecom.test.entity;public classUserInfo {private intid;privateString username;privateString password;public intgetId() {returnid;
}public void setId(intid) {this.id =id;
}publicString getUsername() {returnusername;
}public voidsetUsername(String username) {this.username =username;
}publicString getPassword() {returnpassword;
}public voidsetPassword(String password) {this.password =password;
}
}
通过配置到bean里面的接口去实现sql方法。
因为spring 里面的bean就是给类的进行实例化的。然后通过id进行调用。
mybatis就是通过id进行调用所属的sql的。
那就直接通过spring去实例化一个类(因为不用写类的具体实现,所以就用接口就行),然后去管理mybatis里面的得到id的方法。
Ssm\src\com\test\dao\ILoginDao.java
packagecom.test.dao;importjava.util.List;public interfaceILoginDao {publicList getUser(String userName);public List getUserName(intuserID);
}
最后是一个action的内容
Ssm\src\com\test\action\LoginAction.java
packagecom.test.action;importjava.util.List;importcom.test.dao.ILoginDao;public classLoginAction {privateILoginDao loginDao;privateString username;privateString password;publicString getUsername() {returnusername;
}public voidsetUsername(String username) {this.username =username;
}publicString getPassword() {returnpassword;
}public voidsetPassword(String password) {this.password =password;
}publicILoginDao getLoginDao() {returnloginDao;
}public voidsetLoginDao(ILoginDao loginDao) {this.loginDao =loginDao;
}publicString execute(){
String userName=getUsername();
String password=getPassword();
System.out.println("userName:"+userName+"\n"+"password:"+password);
List list=loginDao.getUser(userName);
List list2= loginDao.getUserName(1);if(list.size()>0){return "success";
}else{return "error";
}
}
}
访问路径:http://localhost:8080/Ssm/login.jsp