package com.example.springboot.demo.controller;
import com.example.springboot.demo.Mapper.UserMapper;
import com.example.springboot.demo.bean.User;
import com.example.springboot.demo.singleton.SingletonMybatis;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@RestController
@RequestMapping("/index") //在类上使用RequestMapping,里面设置的value就是方法的父路径
public class Controller {
private static SqlSessionFactory sqlSessionFactory;
static {
sqlSessionFactory = SingletonMybatis.getSqlSessionFactory();
}
@RequestMapping //如果方法上的RequestMapping没有value,则此方法默认被父路径调用
public String index(){
return "hello spring boot";
}
//这里体现了restful风格的请求,按照请求的类型,来进行增删查改。
//设计restful api(其实也就是URL),不要有冗余,例如不要写成getUsers,URL中
//最好不要有动词。
@RequestMapping(method = RequestMethod.GET,value = "/users")
public List<User> getUsers(){
List<User> listUsers;
//获取一个连接
SqlSession sqlSession = sqlSessionFactory.openSession();
try {
//得到映射器
UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
//调用接口中的方法去执行xml文件中的SQL语句
listUsers = userMapper.getUsers();
//要提交后才会生效
sqlSession.commit();
}finally {
//最后记得关闭连接
sqlSession.close();
}
return listUsers;
}
//这里用的是路径变量,就是{}括起来的,会当做变量读进来
@RequestMapping(method = RequestMethod.GET,value = "/users/{userId}")
public User getUser(@PathVariable int userId){
User user;
SqlSession sqlSession = sqlSessionFactory.openSession();
try {
UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
user = userMapper.getById(userId);
sqlSession.commit();
}finally {
sqlSession.close();
}
return user;
}
//RequestBody这个注解可以接收json数据
@RequestMapping(method = RequestMethod.POST,value = "/user")
public boolean setUser(@RequestBody String name){
SqlSession sqlSession = sqlSessionFactory.openSession();
try {
UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
userMapper.insert(name);
sqlSession.commit();
}finally {
sqlSession.close();
}
return true;
}
@RequestMapping(method = RequestMethod.PUT,value = "/user/{userid}/{name}")
public boolean updateUser(@PathVariable int userid,@PathVariable String name){
SqlSession sqlSession = sqlSessionFactory.openSession();
try {
UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
User user = new User(userid,name);
userMapper.updateUser(user);
sqlSession.commit();
}finally {
sqlSession.close();
}
return true;
}
@RequestMapping(method = RequestMethod.DELETE,value = "/users")
public boolean deleteUsers(){
SqlSession sqlSession = sqlSessionFactory.openSession();
try {
UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
userMapper.deleteAllUsers();
sqlSession.commit();
}finally {
sqlSession.close();
}
return true;
}
@RequestMapping(method = RequestMethod.DELETE,value = "/users/{userId}")
public boolean deleteUser(@PathVariable int userId){
SqlSession sqlSession = sqlSessionFactory.openSession();
try {
UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
userMapper.deleteUser(userId);
sqlSession.commit();
}finally {
sqlSession.close();
}
return true;
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
springboot.zip (82个子文件)
sprintboot
demo
.gitignore 249B
.mvn
wrapper
maven-wrapper.jar 46KB
maven-wrapper.properties 110B
pom.xml 2KB
mvnw 6KB
target
generated-test-sources
test-annotations
test-classes
com
example
springboot
demo
DemoApplicationTests.class 644B
generated-sources
annotations
classes
spring-mybatis.xml 1KB
com
example
springboot
demo
bean
User.class 878B
singleton
SingletonMybatis.class 1KB
controller
Controller.class 4KB
Mapper
UserMapper.class 487B
DemoApplication.class 726B
mappers
userMapper.xml 1KB
application.properties 0B
demo.iml 7KB
src
test
java
com
example
springboot
demo
DemoApplicationTests.java 342B
main
resources
spring-mybatis.xml 1KB
static
templates
mappers
userMapper.xml 1KB
application.properties 0B
java
com
example
springboot
demo
bean
User.java 471B
singleton
SingletonMybatis.java 882B
controller
Controller.java 4KB
DemoApplication.java 315B
Mapper
UserMapper.java 373B
mvnw.cmd 5KB
.idea
libraries
Maven__org_assertj_assertj_core_2_6_0.xml 523B
Maven__com_vaadin_external_google_android_json_0_0_20131108_vaadin1.xml 688B
Maven__org_springframework_spring_context_4_3_14_RELEASE.xml 632B
Maven__org_hamcrest_hamcrest_core_1_3.xml 520B
Maven__net_minidev_accessors_smart_1_1.xml 530B
Maven__org_springframework_spring_expression_4_3_14_RELEASE.xml 653B
Maven__org_springframework_spring_core_4_3_14_RELEASE.xml 611B
Maven__org_springframework_boot_spring_boot_starter_logging_1_5_10_RELEASE.xml 743B
Maven__org_springframework_boot_spring_boot_test_1_5_10_RELEASE.xml 666B
Maven__javax_validation_validation_api_1_1_0_Final.xml 599B
Maven__org_apache_tomcat_tomcat_annotations_api_8_5_27.xml 624B
Maven__ch_qos_logback_logback_core_1_1_11.xml 542B
Maven__com_fasterxml_jackson_core_jackson_databind_2_8_10.xml 618B
Maven__org_springframework_spring_jdbc_5_0_4_RELEASE.xml 604B
Maven__com_fasterxml_jackson_core_jackson_annotations_2_8_0.xml 632B
Maven__org_springframework_spring_beans_4_3_14_RELEASE.xml 618B
Maven__org_mybatis_mybatis_3_4_5.xml 488B
Maven__org_springframework_boot_spring_boot_starter_web_1_5_10_RELEASE.xml 715B
Maven__org_slf4j_jcl_over_slf4j_1_7_25.xml 536B
Maven__org_jboss_logging_jboss_logging_3_3_1_Final.xml 596B
Maven__com_fasterxml_classmate_1_3_4.xml 510B
Maven__org_hamcrest_hamcrest_library_1_3.xml 541B
Maven__org_springframework_spring_aop_4_3_14_RELEASE.xml 604B
Maven__org_slf4j_log4j_over_slf4j_1_7_25.xml 550B
Maven__org_yaml_snakeyaml_1_17.xml 483B
Maven__org_springframework_boot_spring_boot_starter_1_5_10_RELEASE.xml 687B
Maven__org_skyscreamer_jsonassert_1_4_0.xml 525B
Maven__org_springframework_boot_spring_boot_test_autoconfigure_1_5_10_RELEASE.xml 764B
Maven__org_apache_tomcat_embed_tomcat_embed_websocket_8_5_27.xml 648B
Maven__com_jayway_jsonpath_json_path_2_2_0.xml 534B
Maven__org_apache_tomcat_embed_tomcat_embed_core_8_5_27.xml 613B
Maven__org_springframework_spring_tx_4_3_14_RELEASE.xml 597B
Maven__org_objenesis_objenesis_2_1.xml 496B
Maven__junit_junit_4_12.xml 443B
Maven__org_slf4j_jul_to_slf4j_1_7_25.xml 522B
Maven__org_springframework_spring_test_4_3_14_RELEASE.xml 611B
Maven__net_minidev_json_smart_2_2_1.xml 509B
Maven__org_slf4j_slf4j_api_1_7_25.xml 501B
Maven__org_mockito_mockito_core_1_10_19.xml 537B
Maven__org_springframework_spring_web_4_3_14_RELEASE.xml 604B
Maven__com_fasterxml_jackson_core_jackson_core_2_8_10.xml 590B
Maven__ch_qos_logback_logback_classic_1_1_11.xml 563B
Maven__org_ow2_asm_asm_5_0_3.xml 460B
Maven__org_hibernate_hibernate_validator_5_3_6_Final.xml 622B
Maven__org_springframework_boot_spring_boot_starter_tomcat_1_5_10_RELEASE.xml 736B
Maven__org_springframework_boot_spring_boot_1_5_10_RELEASE.xml 631B
Maven__org_springframework_boot_spring_boot_starter_test_1_5_10_RELEASE.xml 722B
Maven__org_apache_tomcat_embed_tomcat_embed_el_8_5_27.xml 599B
Maven__org_springframework_boot_spring_boot_autoconfigure_1_5_10_RELEASE.xml 729B
Maven__org_springframework_spring_webmvc_4_3_14_RELEASE.xml 625B
Maven__mysql_mysql_connector_java_5_1_25.xml 562B
workspace.xml 33KB
encodings.xml 172B
dictionaries
acme.xml 83B
misc.xml 1KB
modules.xml 248B
inspectionProfiles
compiler.xml 620B
共 82 条
- 1
资源评论
- liwt19852018-07-10感谢LZ分享!
_acme_
- 粉丝: 846
- 资源: 38
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功