JavaWeb开发项目-部门信息管理项目(2)-代码

stu_demo库

数据库实例( schema):
数据库相关命名规范:

  • 小写字母拼写构成
  • 多个单词用_下 划线连接

字符集: utf8

第一步:

sys右键选择Create Schema并设置名字和编码格式,utf8中两个都可,效果如图下显示:
在这里插入图片描述
在这里插入图片描述

第二步:

图上显示,点击Apply,出现如图下显示,再点击Apply
在这里插入图片描述

第三步:

点击Finsh
在这里插入图片描述
最终呈现,效果如图下显示:
在这里插入图片描述

department表

第一步:

Tables右键选择Create Table,修改名字及里面内容,效果如图显示:
在这里插入图片描述

第二步:

图上显示,点击Apply,出现如图下显示,再点击Apply
在这里插入图片描述

第三步:

点击Finsh
在这里插入图片描述
最终呈现,效果如图下显示:
在这里插入图片描述

基本语法结构

Java包命名规范: 全部小写字母拼写,上下层级的包用“.”(点)分割
Java文件命名规范: 单词首字母大写,如果是多个单词,则每个单词的首字母大写

标识符: 包名、类名、变量名以及方法名都被称为标识符

  • 以字母、美元符($)、下划线()、数字组成
  • 数字不能开头
  • 不能是关键字

PS:标识符是大小写敏感的。(见名识意)

创建包,如图下显示:
在这里插入图片描述
若点击三个点,选择Package Presentation下的Herarchical
在这里插入图片描述
效果如图显示:
在这里插入图片描述

创建TestA类,并添加代码,如下:
在这里插入图片描述

//关键字:具有特定功能作用的
//package Java文件所在的全包名;
//全报名:从资源文件夹到Java文件之间完整的包名
//class 类名{类体}
//public 访问限定修饰符
/**
 * 实体类
 * @author Katrina
 */
public class Test {

	//变量
	//变量的定义--格式:变量类型 变量名称;
	//String:字符串类型
	String s1;
	String s2 = "kasdfkaskdfh";

	//方法(普通方法/标准方法)
	//方法定义--格式:返回类型 方法名称(方法参数){方法体}
	//void方法返回类型为孔,即方法执行结束后不返回结果
	void f1() {

	}

	String f2() {
		String s3 = "aaa";
		return s3;
	}

	void f4(String s) {

	}

	void f5(String s, String p) {

	}

	//方法调用--格式:方法名(方法参数);
	//方法调用本质:执行所调用的方法体的代码,
	//被调用的方法执行结束后,返回到所调用的位置继续执行
	void f3() {
		f2();
		f4("aaa");
	}

}

代码部分:

application.properties

在这里插入图片描述

#属性名=属性值
#配置程序访问的端口,默认为8080
server.port=8082
# 配置访问的工程名路径,默认为/
server.servlet.context-path=/situ_demo

#//主机名:端口号/数据库实例名
spring.datasource.url=jdbc:mysql://localhost:3306/stu_demo?useSSL=false&useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true&serverTimezone=Hongkong&allowPublicKeyRetrieval=true
spring.datasource.username=root
spring.datasource.password=1234
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

#若使用SQLite数据库,则使用的配置如下
#spring.datasource.url=jdbc:sqlite://d:/DxOffice/sqliteadmin/st_company.s3db
#spring.datasource.driver-class-name=org.sqlite.JDBC

主要修改部分,如红框显示:
在这里插入图片描述

DepartmentModel.java

package department;
/**
 * 实体类:
 * 私有的属性变量
 * 公有的属性方法( 空白处Alt+Shift+S,选择Generate Getters and Setters...)
 * @author Katrina
 */
//数据库的表结构有对应关系
public class DepartmentModel {

	//访问修饰符
	private String code;
	private String name;
	private String tel;
	
	public String getCode() {
		return code;
	}
	
	public void setCode(String code) {
		this.code = code;
	}
	
	public String getName() {
		return name;
	}
	
	public void setName(String name) {
		this.name = name;
	}
	
	public String getTel() {
		return tel;
	}
	
	public void setTel(String tel) {
		this.tel = tel;
	}
	
}

DepartmentMapper.java

package department;
//导入其他包下的文件 Alt+?
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;
import java.util.List;
/**
 * interface接口:
 * 静态常量:public static final 
 * 抽象方法:标准方法去掉方法体,加上分号结束;
 * 
 * 数据层--与数据库打交道(SQL)
 * 两种技术:
 * mybatis (本次使用)
 * jdbc--insert into department(code,name,tel) values(?,?,?)
 * @author Katrina
 */
//注释 不影响任何代码
//@注解 有实际含义
@Mapper 
public interface DepartmentMapper {
	//int表示sql执行后影响的记录条数--executeUpdate
	
	@Insert("insert into department(code,name,tel) values(#{code},#{name},#{tel})")
	int insert(DepartmentModel model);
	
	@Delete("delete from department where code=#{code}")
	int delete(DepartmentModel model);
	
	@Update("update department set name=#{name},tel=#{tel} where code=#{code}")
	int update(DepartmentModel model);
	
	@Select("select code,name,tel from department where code=#{code}")
	DepartmentModel selectModel(DepartmentModel model);
	
	@Select("select code,name,tel from department where name like #{code}")
	List<DepartmentModel> selectList(DepartmentModel model);
}

DepartmentService.java

package department;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
/**
 * 业务层(服务层):使用数据层中提供的功能
 * @author Katrina
 */
@Service
public class DepartmentService {

	@Autowired
	private DepartmentMapper mapper;
	
	public int insert(DepartmentModel model) {
		return mapper.insert(model);
	}
	
	public int delete(DepartmentModel model) {
		return mapper.delete(model);
	}
	
	public int update(DepartmentModel model) {
		return mapper.update(model);
	}
	
	public DepartmentModel selectModel(DepartmentModel model) {
		return (DepartmentModel) mapper.selectModel(model);
	}
	
	public List<DepartmentModel> selectList(DepartmentModel model) {
		return mapper.selectList(model);
	}
	
}

DepartmentController.java

package department;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
 * 控制层:使用业务层中提供的功能方法
 * @author Katrina
 */
@RestController
@RequestMapping("department") //不同Controller类上的@RequestMapping的内容不能相同
public class DepartmentController {

	@Autowired
	DepartmentService service;
	
	@RequestMapping("insert") //同一类中在不同的方法上的@RequestMapping的内容不能相同
	public Map<String, Object> insert(DepartmentModel model) {
		Map<String, Object> map = new HashMap<>();
		map.put("code", service.insert(model));
		return map;
	}
	
	@RequestMapping("delete")
	public Map<String, Object> delete(DepartmentModel model) {
		Map<String, Object> map = new HashMap<>();
		map.put("code", service.delete(model));
		return map;
	}
	
	@RequestMapping("update")
	public Map<String, Object> update(DepartmentModel model) {
		Map<String, Object> map = new HashMap<>();
		map.put("code", service.update(model));
		return map;
	}
	
	@RequestMapping("selectModel")
	public Map<String, Object> selectModel(DepartmentModel model) {
		Map<String, Object> map = new HashMap<>();
		map.put("code", service.selectModel(model));
		return map;
	}
	
	@RequestMapping("selectList")
	public Map<String, Object> selectList(DepartmentModel model) {
		Map<String, Object> map = new HashMap<>();
		map.put("code", service.selectList(model));
		return map;
	}
	
//	public int insert(DepartmentModel model) {
//		return service.insert(model);
//	}
	
//	public int delete(DepartmentModel model) {
//		return service.delete(model);
//	}
	
//	public int update(DepartmentModel model) {
//		return service.update(model);
//	}
	
//	public DepartmentModel selectModel(DepartmentModel model) {
//		return (DepartmentModel) service.selectModel(model);
//	}
	
//	public List<DepartmentModel> selectList(DepartmentModel model) {
//		return service.selectList(model);
//	}
	
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值