SpringMVC操作数据库
SpringMVC操作数据库
静态资源处理:
在Springmvc的上下⽂⽂件中配置
<mvc:default-servlet-handler/>
<mvc:annotation-driven></mvc:annotation-driven>
这样的两⾏代码。将在上下⽂⽂件中定义⼀个DefaultServletRequestHandler,它会对进⼊DispatcherRequest中的请求进⾏筛查,如果没有发现是经过映射的请求,该请求就交由默认的web服务器进⾏处理。如果不是静态资源的请求,才由DispatcherServlet 继续处理。SpringMVC操作数据库:
1. 需要重新创建⼀个Spring上下⽂⽂件(l),⽤来配置SpringJDBC,之前配置的上下⽂⽂件⽤来配置SpringMVC,将两者区分开。
2. 在l⽂件中配置⼀个
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:l</param-value>
</context-param>
<listener>
<listener-class>org.t.ContextLoaderListener</listener-class>
</listener>
这样在tomcat服务器启动时就会将对应的上下⽂⽂件进⾏⼯⼚化处理。
3. 数据库操作处理(这个不做重点):
具体代码如下:
DAO层
springMVC.db.dao;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.BeanPropertyRowMapper;
import org.JdbcTemplate;
import org.springframework.stereotype.Repository;
ity.UserInfo;
@Repository
public class UserDao {
@Autowired
private JdbcTemplate jdbcTemplate;
public List<UserInfo> getUsers(){
System.out.println("-----springMVC.db.dao.UserDao----");
String sql = "select * from user_info";
return jdbcTemplate.query(sql, new BeanPropertyRowMapper<UserInfo>(UserInfo.class)); }
}
Service层
vc.crud.db.service;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
vc.crud.db.dao.UserDao;
vc.ity.UserInfo;
@Service
public class UserService {
@Autowired
private UserDao userDao;
public List<UserInfo> getUserInfos(){
AllUserInfos();
}
}
Controller层
@RequestMapping("/userList")jdbctemplate查询一条数据
public String userList(Map<String, Object> map){
map.put("userData", UserInfos());
return "/user/userList";
}
类型转换器
通常我们知道,在通过url/{name}的⽅式进⾏传值时,传递的值都是String类型的,Spring内置了⼀些类型转换器,可以将传递过来的值
转化为我们需要的格式类型,但是有时候需要我们⾃⼰⼿写⼀些类型转换器,例如时间转换器,我们在配置的时候,同样是在上下⽂中配置
<mvc:default-servlet-handler/>
<mvc:annotation-driven conversion-service="formattingConversionService"></mvc:annotation-driven>
<bean id="formattingConversionService"class="org.springframework.format.support.FormattingConver
sionServiceFactoryBean"
<property name="converters">
<set>
<bean class="springMVC.dbmon.DateFormatConverter"></bean>
</set>
</property>
</bean>
之后我们需要⼿写⼀个类型转换类DateFormatConverter实现代码如下:
springMVC.dbmon;
ParseException;
SimpleDateFormat;
import java.util.Date;
import verter.Converter;
import com.alibaba.druid.util.StringUtils;
public class DateFormatConverter implements Converter<String,Date>{
public Date convert(String source) {
if(!StringUtils.isEmpty(source)){
try {
return new SimpleDateFormat("yyyy-MM-dd").parse(source);
} catch (ParseException e) {
System.out.println("格式转化错误------>"+e);
e.printStackTrace();
}
}
return null;
}
}
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论