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

建设银行怎么加入信用网站/淘宝指数转换

建设银行怎么加入信用网站,淘宝指数转换,杭州网站开发凡客,创建平台网站下载软件目录 1、Mybatis是什么? 持久层什么意思? 什么是自定义SQL? 什么是存储过程? 什么是高级映射? 2、配置MyBatis开发环境 2.1、创建数据库和表 2.2、添加MyBatis框架支持 2.3、配置连接字符串和MyBatis 2.3.1、…

目录

1、Mybatis是什么?

持久层什么意思?

什么是自定义SQL?

什么是存储过程?

什么是高级映射?

2、配置MyBatis开发环境

2.1、创建数据库和表

2.2、添加MyBatis框架支持

2.3、配置连接字符串和MyBatis

2.3.1、配置连接字符串

2.3.2、配置MyBatis中的XML路径

3、SSM第一个业务代码案例

 3.1、添加实体类

3.2、添加Mapper接口

3.3、添加UserMapper.xml

3.4、添加Service

3.5、添加Controller

3.6、代码测试


1、Mybatis是什么?

        MyBatis是一款持久层框架,它支持自定义SQL、存储过程和高级映射。MyBatista去除了几乎所有的的JDBC代码以及设置参数和获取结果集的工作。MyBatis通过简单的xml或者注解【几乎不用】来配置和映射原始类型、接口和Java POJO(Plain Old Java Objects,普通老式Java对象)为数据库中的记录

持久层什么意思?

        我们将层字去掉,持久,也就是说持续(保存)时间久,他针对的是系统中数据存在的时限。在内存中存储数据是不持久的,如果计算机崩溃或者某原因导致计算机关机,数据就会丢失,但是磁盘上的数据是持久的,因此,用在持久层也就是这个框架是用来将内存中的数据写入到磁盘中,具体一点就是写入数据库。

什么是自定义SQL?

        就是咱们在控制台输入的SQL语句,例如:查询、增加等等,都是属于自定义SQL。

什么是存储过程?

        就是多条SQL的集合。例如,自定义SQL就好比是单行代码,而存储过程就是一个方法,里面放了多行代码(甚至里面会包含条件判断等语句)~但是不建议大家使用存储过程,原因:1、操作难度大 2、不能进行调试  3、修改和扩展难~

什么是高级映射?

        我们首先来看一下MyBatis在整个框架中的定位,框架交互流程图:

         MyBatis也是一个ORM框架,ORM(Object Relational Mapping),也就是关系映射。在面向对象编程语言中,将关系型数据库中的数据与对象建立起映射关系,进而自动的完成数据与对象的互相转换:

  • 将输入数据(即传入对象) + SQL映射成原生SQL
  • 将结果集映射为返回对象,即输出对象

ORM把数据库映射为对象

  • 数据库表(table)-->类(class)
  • 记录(record,行数据)-->对象(object)
  • 字段(field)-->对象的属性(attribute)

        一般的ORM框架,会将数据库模型的每张表都映射为一个Java类。

        也就是说使用MyBatis可以像操作对象一样来操作数据库中的表,可以实现对象和数据库表之间的转换

         因此,MyBatis是更简单完成程序和数据库交互的工具,也就是说更简单的操作和读取数据库工具。



2、配置MyBatis开发环境

2.1、创建数据库和表

要操作数据库,当然需要里面有内容才可以呀~

例如,我这里的数据库和表创建:

-- 创建数据库
drop database if exists mycnblog;
create database mycnblog DEFAULT CHARACTER SET utf8mb4;-- 使用数据数据
use mycnblog;-- 创建表[用户表]
drop table if exists  userinfo;
create table userinfo(id int primary key auto_increment,username varchar(100) not null,password varchar(32) not null,photo varchar(500) default '',createtime datetime,updatetime datetime,`state` int default 1
) default charset 'utf8mb4';-- 创建文章表
drop table if exists  articleinfo;
create table articleinfo(id int primary key auto_increment,title varchar(100) not null,content text not null,createtime datetime,updatetime datetime,uid int not null,rcount int not null default 1,`state` int default 1
)default charset 'utf8mb4';-- 创建视频表
drop table if exists videoinfo;
create table videoinfo(vid int primary key,`title` varchar(250),`url` varchar(1000),createtime datetime,updatetime datetime,uid int
)default charset 'utf8mb4';-- 添加一个用户信息
INSERT INTO `mycnblog`.`userinfo` (`id`, `username`, `password`, `photo`, `createtime`, `updatetime`, `state`) VALUES 
(1, 'admin', 'admin', '', '2021-12-06 17:10:48', '2021-12-06 17:10:48', 1);-- 文章添加测试数据
insert into articleinfo(title,content,uid)values('Java','Java正文',1);-- 添加视频
insert into videoinfo(vid,title,url,uid) values(1,'java title','http://www.baidu.com',1);

在数据库中添加之后,就开始整活啦~

2.2、添加MyBatis框架支持

创建项目时,和创建Spring Boot项目一样,只是在添加依赖时,需要注意一下:

        然后就可以创建出来啦~不知道怎么创建Spring Boot项目的伙伴可以看看我前几期的博客,里面有详细介绍~http://t.csdn.cn/YUSql

        如果是需要在旧项目中添加MyBatis依赖 ,可以使用插件EditStarters,具体怎么使用,在创建Spring Boot项目里面都有介绍~http://t.csdn.cn/Aa4MG

2.3、配置连接字符串和MyBatis

也就是数据库连接字符串设置和MyBatis的XML文件配置

2.3.1、配置连接字符串

在配置文件中配置,例如我使用的是yml配置文件:

spring:datasource:url: jdbc:mysql://localhost:3306/mycnblog?characterEncoding=utf8&useSSL=falseusername: root#自己数据库的密码password: "0410"driver-class-name: com.mysql.cj.jdbc.Driver

        注:

  • 如果mysql-connector-java是5.x之前的使用的是“com.mysql.jdbc.Driver”,如果是大于5.x使用“com.mysql.cj.jdbc.Driver”
  • 数据库密码最好加上双引号,否则会有的电脑会报错

2.3.2、配置MyBatis中的XML路径

MyBatis的XML中保存是查询数据库的具体操作SQL,配置【yml配置】如下:

#mybatis xml保存路径
mybatis:mapper-locations: classpath:mybatis/*Mapper.xml

 现在呢,该配置的东西已经准备好了,接下来就是一个基本最简单SSM代码,需要怎么做


3、SSM第一个业务代码案例【根据id查询】

流程图:

 目录框架【先把框架创建好,在继续进行后续操作,没有的包和类记得是需要自己创建的~】

 3.1、添加实体类

package com.example.demo.entitiy;import lombok.Data;import java.time.LocalDateTime;/*** Created with IntelliJ IDEA.* Description:* User:龙宝* Date:2023-03-23* Time:7:37*/
@Data
public class Userinfo {private int id;private String username;private String password;private String photo;private LocalDateTime createtime;private LocalDateTime updatetime;private int state;
}

3.2、添加Mapper接口

package com.example.demo.mapper;import com.example.demo.entitiy.Userinfo;
import org.apache.ibatis.annotations.Mapper;/*** Created with IntelliJ IDEA.* Description:* User:龙宝* Date:2023-03-23* Time:7:41*/
@Mapper
public interface UserMapper {Userinfo getUserById(Integer id);
}

3.3、添加UserMapper.xml

数据持久层的实现,MyBatis的固定xml格式:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.example.demo.mapper.UserMapper"></mapper>

UserMapper.xml查询SQL的具体实现举例: 

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.example.demo.mapper.UserMapper"><select id="getUserById" resultType="com.example.demo.entity.Userinfo">select* from userinfo where id = ${id}</select>
</mapper>

注:

  • <mapper>标签:需要指定namespace属性,表示命名空间,值为mapper接口的全限定名,包括全包名.类名
  • <select>查询标签:是用来执行数据库的查询操作的
  • id是和Interface接口中定义的方法名一样的,表示对接口的具体实现方法
  • resultType是返回的数据类型,也就是开头我们定义的实体类

3.4、添加Service

服务层实现:

package com.example.demo.service;import com.example.demo.entity.Userinfo;
import com.example.demo.mapper.UserMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;/*** Created with IntelliJ IDEA.* Description:* User:龙宝* Date:2023-03-23* Time:7:58*/
@Service
public class UserService {@Autowiredprivate UserMapper userMapper ;public Userinfo getUserBId(Integer id) {return userMapper.getUserById(id);}
}

3.5、添加Controller

控制层代码实现:

package com.example.demo.controller;import com.example.demo.entity.Userinfo;
import com.example.demo.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;/*** Created with IntelliJ IDEA.* Description:* User:龙宝* Date:2023-03-23* Time:8:00*/
@RestController
@RequestMapping("/user")
public class UserController {@Autowiredprivate UserService userService;@RequestMapping("/getuserbyid")public Userinfo getUserById(Integer id) {return userService.getUserBId(id);}
}

3.6、代码测试

执行成功~

好啦本期结束啦~下期对增删改查进行详细讲解~

http://www.jmfq.cn/news/5005531.html

相关文章:

  • 网站的用户体验主要有那些类型/常用seo站长工具
  • 做旅游网站平台ppt/淘宝运营培训多少钱
  • 公司宣传网站怎么做/营销咨询公司经营范围
  • 专门做别墅的网站/门户网站
  • 校园旅游网站建设方案策划书/小红书如何引流推广
  • 个人做网站seo/热门关键词查询
  • 视频制作方法/免费检测网站seo
  • 建设云南省癌症中心网站/做一套二级域名网站怎么做
  • 采购公告 校园网站建设/磁力链
  • b2b平台的优势与劣势/广西网站seo
  • 网站方案制作的培训/百度云盘下载
  • 财经类 直播类网站开发/免费培训网站
  • 黑龙江省建设部网站/查询网 网站查询
  • vps网站权限/北京seo优化外包
  • 公司的英文网站/甘肃省seo关键词优化
  • 中小型公司网络设计方案/seo刷关键词排名软件
  • 东莞营销网站开发/新产品推广方案策划
  • h5入口/网站推广优化排名seo
  • 做网站尺寸/上海关键词排名推广
  • 武汉做企业网站的公司/惠州百度推广优化排名
  • 自己建网站做电商还赚钱吗/关键词搜索引擎工具
  • 公司网站建设外包/seo查询排名软件
  • 网站排名如何提升/网页设计模板图片
  • 网页制作简易代码/重庆关键词优化软件
  • php手机网站模板/网络推广图片大全
  • 去哪里可以做网站/东莞头条最新新闻
  • 自己做电影下载网站/东莞seo优化排名
  • 网站开发主管招聘/seo网站优化培训多少价格
  • 婚礼视频制作软件/汤阴县seo快速排名有哪家好
  • 合肥瑶海区政府网站官网/成都网站建设方案优化