增加界面
<body>
<form action="addEmp.action">
id:<input id="empno" name="empno">
name:<input id="ename" name="ename">
bm:<select id="deptno" name="deptno">
</select>
<input type="submit">
</form>
</body>
<script>
function getDept() {
var dept=document.getElementById("deptno");
var xmlHttpRequest = new XMLHttpRequest();
xmlHttpRequest.onreadystatechange=function () {
if(xmlHttpRequest.readyState==4&&xmlHttpRequest.status==200) {
var res = xmlHttpRequest.responseText;
var lst=eval("("+res+")") ;
var str="";
for(var i=0;i<lst.length;i++){
str=str+"<option value='"+lst[i].deptno+"'>"+lst[i].dname+"</option>"
}
dept.innerHTML=str;
}
}
xmlHttpRequest.open("get","dept.action?t="+new Date().getMilliseconds());
xmlHttpRequest.send(null);
}
getDept();
</script>
获取部门和增加动作
@Controller
public class EmpAction {
@Autowired
EmpService empService;
@RequestMapping("/dept")
public @ResponseBody List getDept(HttpServletRequest req, HttpServletResponse response) throws IOException {
// response.getWriter().print(JSON.toJSONString(empService.getDept()));
return empService.getDept();
}
@RequestMapping("/addEmp")
public void insert ( HttpServletResponse response, @RequestParam Map map) throws IOException {
// response.getWriter().print(JSON.toJSONString(empService.getDept()));
response.getWriter().print(map);
}
}
业务逻辑层
@Service
public class EmpServiceImp implements EmpService{
@Autowired
MyDao myDao;
@Override
public List getDept() {
return myDao.getAll();
}
}
数据库层
@Repository
public class MyDao {
@Autowired
private SqlSessionFactory sqlSessionFactory;
private SqlSession getConn(){
try {
SqlSession sqlSession = sqlSessionFactory.openSession();
return sqlSession;
}catch (Exception e){
/*log.fatal(e.getMessage());*/
System.out.println(e.getMessage());
return null;
}
}
public List getAll(){
SqlSession sqlSession=getConn();
try {
return sqlSession.selectList("com.lty.mapper.DeptMapper.getAll");
}finally {
}
}
}
配置xml
<mapper namespace="com.lty.mapper.DeptMapper"> <!--<insert id="insert" parameterType="Product" useGeneratedKeys="true" keyProperty="productId">
INSERT INTO product(productid,name,unitprice,description,manufacturer,category,unitsinstock)
VALUES(#{productId},#{name},#{unitPrice},#{description},#{manufacturer},#{category},#{unitsInStock})
</insert>-->
<!--<resultMap type="Product" id="ProductsResultSet">
<id property="productId" column="productId" />
<result property="name" column="name" />
<result property="unitPrice" column="unitPrice" />
<result property="description" column="description" />
<result property="manufacturer" column="manufacturer" />
<result property="category" column="category" />
<result property="unitsInStock" column="unitsInStock" />
</resultMap>-->
<select id="getAll" resultType="Map">
SELECT * FROM dept
</select>
<!--<select id="getById" parameterType="String" resultType="Product">
SELECT * FROM product WHERE productid=#{productId}
</select>
<update id="update" parameterType="Product">
UPDATE product
SET
unitsInStock=#{unitsInStock}
WHERE
productId=#{productId}
</update>-->
</mapper>
spring 配置
<context:component-scan base-package="com.lty" />
<mvc:annotation-driven/>
<bean id="dataSource" class="org.apache.tomcat.dbcp.dbcp2.BasicDataSource">
<property name="driverClassName" value="com.mysql.jdbc.Driver"></property>
<property name="url" value="jdbc:mysql://localhost:3306/ncdb"></property>
<property name="username" value="root"></property>
<property name="password" value=""></property>
<property name="initialSize" value="10"></property>
<property name="maxIdle" value="5"></property>
</bean>
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<!--引用数据库连接池-->
<property name="dataSource" ref="dataSource"></property>
<!--加载mybatis-config.xml配置文件-->
<property name="configLocation" value="classpath:mybatis-config.xml"></property>
</bean>
web.xml配置
<servlet>
<servlet-name>springmvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/springmvc.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>springmvc</servlet-name>
<url-pattern>*.action</url-pattern>
</servlet-mapping>
spring、mybatis、ajax、map、json使用
于 2018-11-09 15:26:40 首次发布