当前位置: 首页 > wzjs >正文

渭南做网站西安seo代理

渭南做网站,西安seo代理,射阳做网站的公司在哪,西安网站建设首选那家本系列为笔者学习JavaWeb的课堂笔记,视频资源为B站黑马程序员出品的《黑马程序员JavaWeb开发教程,实现javaweb企业开发全流程(涵盖SpringMyBatisSpringMVCSpringBoot等)》,章节分布参考视频教程,为同样学习…

本系列为笔者学习JavaWeb的课堂笔记,视频资源为B站黑马程序员出品的《黑马程序员JavaWeb开发教程,实现javaweb企业开发全流程(涵盖Spring+MyBatis+SpringMVC+SpringBoot等)》,章节分布参考视频教程,为同样学习JavaWeb系列课程的同学们提供参考。

根据资料中提供的《tlias智能学习辅助系统》页面原型及需求,完成员工管理的需求开发。

在这里插入图片描述

01 准备工作

  • 创建一个新的springboot工程,选择引入对应的起步依赖(mybatismysql驱动、lombok)
  • 创建对应的实体类Emp(实体类属性采用驼峰命名)
  • application.properties中引入数据库连接信息
  • 准备Mapper接口EmpMapper

在这里插入图片描述

在这里插入图片描述

Emp.java

package com.itheima.pojo;import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.time.LocalDate;
import java.time.LocalDateTime;@Data
@NoArgsConstructor
@AllArgsConstructor
public class Emp {private Integer id;private String username;private String password;private String name;private Short gender;private String image;private Short job;private LocalDate entrydate;private Integer deptId;private LocalDateTime createTime;private LocalDateTime updateTime;
}

02 删除

在这里插入图片描述

在这里插入图片描述

注:如果mapper接口方法形参只有一个普通类型的参数,#{...}里面的属性名可以随便写,比如#{id}、#{value}

EmpMapper.java

package com.itheima.mapper;import org.apache.ibatis.annotations.*;@Mapper
public interface EmpMapper {@Delete("delete from emp where id = #{id}")public void delete(Integer id);
}

SpringbooyMybatisCrudApplicationTests.java

package com.itheima;import com.itheima.mapper.EmpMapper;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;@SpringBootTest
class SpringbootMybatisCrudApplicationTests {@Autowiredprivate EmpMapper empMapper;@Testpublic void testDelete(){empMapper.delete(17);}}

03 日志输出

application.proporties

#指定mybatis输出日志的位置,输出控制台
mybatis.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl

在这里插入图片描述

在这里插入图片描述

04 预编译SQL

预编译SQL的性能更高,更安全。

在这里插入图片描述

SQL注入是通过操作输入的数据来修改事先定义好的SQL语句,以达到执行代码对服务器进行攻击的方法。

在这里插入图片描述

在这里插入图片描述

05 参数占位符

在这里插入图片描述

06 新增

EmpMapper.java

package com.itheima.mapper;import org.apache.ibatis.annotations.*;@Mapper
public interface EmpMapper {@Insert("insert into emp(username, name, gender, image, job, entrydate, dept_id, create_time, update_time) values(#{username}, #{name}, #{gender}, #{image}, #{job}, #{entrydate}, #{deptId}, #{createTime}, #{updateTime})")public void insert(Emp emp);
}

SpringbooyMybatisCrudApplicationTests.java

package com.itheima;import com.itheima.mapper.EmpMapper;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;@SpringBootTest
class SpringbootMybatisCrudApplicationTests {@Autowiredprivate EmpMapper empMapper;@Testpublic void testInsert(){Emp emp = new Emp();emp.setUsername("Tom");emp.setName("汤姆");emp.setImage("1.jpg");emp.setGender((short)1);emp.setJob((short)1);emp.setEntrydate(LocalDate.of(2000, 1, 1));emp.setDeptId(1);emp.setCreateTime(LocalDateTime.now());emp.setUpdateTime(LocalDateTime.now());empMapper.insert(emp);}
}

主键返回是指在数据添加成功后,需要获取插入数据库数据的主键。eg.添加套餐数据时,需要维护套餐菜品关系表数据。

在这里插入图片描述

在这里插入图片描述

07 更新

EmpMapper.java

package com.itheima.mapper;import org.apache.ibatis.annotations.*;@Mapper
public interface EmpMapper {@Update("update emp set username=#{username}, name=#{name}, gender=#{gender}, image=#{image}, job=#{job}, entrydate=#{entrydate}, dept_id=#{deptId}, create_time=#{createTime}, updateTime=#{updateTime} where id=#{id}")public void update(Emp emp);
}

SpringbooyMybatisCrudApplicationTests.java

package com.itheima;import com.itheima.mapper.EmpMapper;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;@SpringBootTest
class SpringbootMybatisCrudApplicationTests {@Autowiredprivate EmpMapper empMapper;@Testpublic void testUpdate(){Emp emp = new Emp();emp.setId(18); //1 ⭐emp.setUsername("Tom1"); //2emp.setName("汤姆1"); //3emp.setImage("1.jpg");emp.setGender((short)1);emp.setJob((short)1);emp.setEntrydate(LocalDate.of(2000, 1, 1));emp.setDeptId(1);emp.setCreateTime(LocalDateTime.now());emp.setUpdateTime(LocalDateTime.now());empMapper.update(emp); //执行更新员工操作}
}

08 查询

EmpMapper.java

package com.itheima.mapper;import org.apache.ibatis.annotations.*;@Mapper
public interface EmpMapper {@Select("select * from emp where id=#{id}")public Emp getById(Integer id);//数据封装//方案一:给数据起别名,让别名与实体类属性名一致@Select("select username, name, gender, image, job, entrydate, dept_id deptId, create_time createTime, update_time updateTime from emp where id=#{id}")public Emp getById(Integer id);//方案二:通过@results,@Result注解手动映射封装@Results({@Result(column = "dept_id", proporty = "deptId"),@Result(column = "create_time", proporty = "createTime"),@Result(column = "update_time", proporty = "updateTime")})@Select("select * from emp where id=#{id}")public Emp getById(Integer id);//方案三:proporties文件中开启mybatis的驼峰命名自动映射开关
}
#a_column ————> aColumn
mybatis.configuration.map-underscore-to-camel-case=true

SpringbooyMybatisCrudApplicationTests.java

package com.itheima;import com.itheima.mapper.EmpMapper;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;@SpringBootTest
class SpringbootMybatisCrudApplicationTests {@Autowiredprivate EmpMapper empMapper;@Testpublic void testSelect(){Emp emp = empMapper.getById(1);System.out.printLn(emp);}
}

数据封装是指实体类属性名和数据库表查询返回的字段名已知,mybatis会自动封装,不一致,则不能自动封装。

在这里插入图片描述

09 条件查询

在这里插入图片描述

select * from emp where name like '%张%' and gender = 1 and entryDate between '2010-01-01' and '2020-01-01' order by undate_time desc;
concat('hello', 'MySQL');select * from emp where name like concat('%', '张', '%') and gender = 1 and entryDate between '2010-01-01' and '2020-01-01' order by update_time desc;

EmpMapper.java

package com.itheima.mapper;import org.apache.ibatis.annotations.*;@Mapper
public interface EmpMapper {@Select("select * from emp where name like '%${name}%' and gender = #{gender} and entryDate between #{begin} and #{end} order by undate_time desc")public List<Emp> list(String name, Short gender, LocalDate begin, LocalDate end);
}

SpringbooyMybatisCrudApplicationTests.java

package com.itheima;import com.itheima.mapper.EmpMapper;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;@SpringBootTest
class SpringbootMybatisCrudApplicationTests {@Autowiredprivate EmpMapper empMapper;@Testpublic void testList(){List<Emp> empList = empMapper.list("张", (short)1, LocalDate.of(2010, 1, 1), LocalDate.of(2020, 1, 1));System.out.println(empList);}
}
http://www.dtcms.com/wzjs/117646.html

相关文章:

  • directadmin网站储存目录win7优化大师免安装版
  • c 网站做微信收款功能百度快照怎么没有了
  • 攸县政府门户网站企业线上培训平台
  • 网站开发质保it学校培训学校哪个好
  • 做网站登录页面的论文域名申请
  • 开源博客wordpress微信搜一搜seo优化
  • 卓拙科技做网站吗新手小白怎么做跨境电商
  • 网站建设公司网络服务百度竞价推广登录入口
  • 知名网站定制报价小程序开发文档
  • 精美旅游网站模板链接推广平台
  • 广州天河区核酸检测点seo策略主要包括
  • 玮科网站建设营销课程培训
  • 网站页面制作软件seo网站编辑优化招聘
  • html怎么做查询网站高质量关键词搜索排名
  • 如何做亚马逊国外网站前端优化
  • 网站开发工程师怎么样微信营销管理软件
  • 网站开发语音域名查询ip网站
  • 开发邦app温州seo招聘
  • 建设网站主题百度关键词首页排名怎么上
  • 电子产品采购平台宁波seo费用
  • 独立网站开发成人职业技术培训学校
  • 网络 网站建设电商运营培训班多少钱
  • 济南网站改版手机关键词seo排名优化
  • 免费视频网站素材seo外链查询工具
  • 淄博周村专业网站建设公司免费找客源软件
  • 山东莱钢建设有限公司网站深圳靠谱网站建设公司
  • 交互式手机网站央视新闻最新消息今天
  • 新的网站平台如何做地推营销技巧在线完整免费观看
  • 怎样做网站上的语种链接广告策划
  • 微信 分享网站开发软文网站有哪些