public class User { private int id; private String name; private int age; private String address; private String phone; //set and get}
复制代码
controller
复制代码
层:
UserController.java
复制代码
:
@RestControllerpublic class UserController { @Autowired private UserService userService; private Logger logger = LoggerFactory.getLogger(this.getClass()); @RequestMapping(value = "/queryUserList",method = RequestMethod.GET,produces="application/json;charset=UTF-8") @ResponseBody public String queryLearnList(HttpServletRequest request , HttpServletResponse response){ String name = request.getParameter("name"); String phone = request.getParameter("phone"); Map params = new HashMap(); params.put("name", name); params.put("phone", phone); List userList =userService.queryUserList(params); return JSONArray.fromObject(userList).toString(); }
复制代码
service
复制代码
层:接口
UserService.java
复制代码
和实现类
UserServiceImpl.java
复制代码
public interface UserService { List queryUserList(Map params);}
复制代码
@Servicepublic class UserServiceImpl implements UserService { @Autowired UserDao userDao; @Override public List queryUserList(Map params) { return userDao.queryUserList(params); }}
复制代码
dao
复制代码
层:接口
UserDao.java
复制代码
和实现类
UserDaoImpl.java
复制代码
public interface UserDao { public List queryUserList(Map params);}
复制代码
UserDaoImpl .java
复制代码
注入
JdbcTemplate
复制代码
,spring boot会自动选择我们配置好的数据源:
@Repositorypublic class UserDaoImpl implements UserDao{ @Autowired private JdbcTemplate jdbcTemplate;//这里直接引用即可 @Override public List queryUserList(Map params) { StringBuffer sql =new StringBuffer(); sql.append("select * from user where 1=1"); if(!StringUtil.isNull((String)params.get("name"))){ sql.append(" and name like '%").append((String)params.get("name")).append("%'"); } if(!StringUtil.isNull((String)params.get("phone"))){ sql.append(" and phone like '%").append((String)params.get("phone")).append("%'"); } List list = jdbcTemplate.query(sql.toString(),new BeanPropertyRowMapper(User.class)); return list; }}
复制代码
[h2]结果[/h2]
运行项目,浏览器输入:
http://localhost:8080/queryUserList
复制代码
,得到如下结果
1.png
[h2]总结[/h2]
在此实践过程可能会出现以下问题:第一个错误
报错信息
复制代码
:
1.png
原因
复制代码
:项目打了jar包,一旦运行就会有两个启动类,指定其中一个即可
解决办法
复制代码
:在pom.xml的plugin下面添加如下配置即可
com.mlin.ChapterApplication
复制代码
第二个错误
报错信息:
java.sql.SQLException: The server time zone value 'ú±ê×±' is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via the serverTimezone configuration property) to use a more specifc time zone value if you want to utilize time zone support.