个人淘宝店铺链接 有需要的伙伴可以点击这里
1 准备事项
(1)下载Tomcat 官网下载即可,解压到/Library,启动tomcat服务器,出现tomcat的官网即可;
(2)下载MySql,Mac不要下载最新版本的,因为在系统偏好设置中,没法打开MySql,这是一个坑,下载旧版本的就可以
(3)下载Navicat;这个看个人选择,数据库的可视化在IDEA中也有
(4)IntelliJ IDEA,不要下载社区版本,没哟Java Web的开发环境,只能下载专业版的,可以自行破解,或者从网上找license
2 项目创建
IntelliJ Idea — File – new Project
最好选择Maven,点击next
选择Spring Web,以及MySql的一些配置,点击Finish
新建Web项目后,可以查看pom.xml文件,如果是第一次创建项目,可能不是高亮的,点击同步即可
2.1 工程配置
在application.properties文件中,可以配置server的端口号,如果出现8080端口号被占用的情况,可以自己配置一个端口号
//tomcat端口号
server.port=8081
spring.datasource.url=jdbc:mysql://localhost:3306/mysql?serverTimezone=GMT%2B8&useSSL=false
spring.datasource.username=root
spring.datasource.password=xxxxxx
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
2.2 MySql配置
在右侧有DataBase选择框,点击可选择本地的MySql
点击Test Connection,需要输入用户名和密码,前提是MySql服务已经开启,才可以连接成功
3 通过JDBC与数据库交互
3.1 Dao
public interface LoginDao {
List<UserInfo> getAllUser();
//
void Insert(UserInfo userInfo);
}
Dao中,定义了操作数据库的行为,例如获取数据库中的全部用户,或者往数据库中插入用户
3.2 操作数据库
@Service
public class LoginServiceImpl implements LoginDao {
@Autowired
private JdbcTemplate jdbcTemplate;
@Override
public List<UserInfo> getAllUser() {
List<UserInfo> userInfoList = jdbcTemplate.query("select * from UserInfo", new UserRowWrapper());
// List<Map<String, Object>> mapList = jdbcTemplate.queryForList("select * from UserInfo");
return userInfoList;
}
@Override
public void Insert(UserInfo userInfo) {
jdbcTemplate.update("insert into UserInfo(username,password) value (?,?)",userInfo.getUsername(),userInfo.getPassword());
}
}
Java Web中,操作数据库一般使用JdbcTemplate,该类封装了Sql语句的模板,可以通过sql语句来操作数据库
3.3 暴露外部接口
Spring MVC中,使用RestController RequestMapping注解可以对外暴露接口
@RestController
public class LoginController {
@Autowired
private LoginDao loginDao;
@RequestMapping(value = "/getUserInfo",method = RequestMethod.GET)
public String getUserInfo(){
String s = JSONArray.toJSONString(loginDao.getAllUser());
return s;
}
@RequestMapping(value = "/saveUser",method = RequestMethod.GET)
public void saveUser(@RequestParam(value = "username" )String username,@RequestParam(value = "password")String password){
UserInfo userInfo = new UserInfo(username,password);
loginDao.Insert(userInfo);
}
}
启动服务后,输入http://localhost:8081/getUserInfo
,就可以获取到数据库中的数据
其实,这种实现的方式,类似于Java中Room操作SQLite,目前通过以上的方式,就可以搭建一个简单的本地服务器