怎样建官方网站北京 企业建网站
怎样建官方网站,北京 企业建网站,企业网络营销的推广方法,网页设计公司简介模板建立连接可能涉及到的问题#xff08;只需要自己改一下就行#xff09; 1、MyBatis是⼀款优秀的 持久层 框架#xff0c;⽤于简化JDBC的开发
2、数据库连接配置
#xff08;1#xff09;yml配置
# 数据库连接配置
spring:datasource:url: jdbc:mysql://127.0.0.1:3306/…建立连接可能涉及到的问题只需要自己改一下就行 1、MyBatis是⼀款优秀的 持久层 框架⽤于简化JDBC的开发
2、数据库连接配置
1yml配置
# 数据库连接配置
spring:datasource:url: jdbc:mysql://127.0.0.1:3306/mybatis_test?
characterEncodingutf8useSSLfalseusername: rootpassword: rootdriver-class-name: com.mysql.cj.jdbc.Driver
2properties配置
#驱动类名称
spring.datasource.driver-class-namecom.mysql.cj.jdbc.Driver
#数据库连接的url
spring.datasource.urljdbc:mysql://127.0.0.1:3306/mybatis_test?
characterEncodingutf8useSSLfalse
#连接数据库的⽤⼾名
spring.datasource.usernameroot
#连接数据库的密码
spring.datasource.passwordroot
3、数据库建表代码
-- 创建数据库
DROP DATABASE IF EXISTS mybatis_test;
CREATE DATABASE mybatis_test DEFAULT CHARACTER SET utf8mb4;
-- 使⽤数据数据
USE mybatis_test;
-- 创建表[⽤⼾表]
DROP TABLE IF EXISTS userinfo;
CREATE TABLE userinfo (id INT ( 11 ) NOT NULL AUTO_INCREMENT,username VARCHAR ( 127 ) NOT NULL,password VARCHAR ( 127 ) NOT NULL,age TINYINT ( 4 ) NOT NULL,gender TINYINT ( 4 ) DEFAULT 0 COMMENT 1-男 2-⼥ 0-默认,phone VARCHAR ( 15 ) DEFAULT NULL,delete_flag TINYINT ( 4 ) DEFAULT 0 COMMENT 0-正常, 1-删除,create_time DATETIME DEFAULT now(),update_time DATETIME DEFAULT now(),PRIMARY KEY ( id )
) ENGINE INNODB DEFAULT CHARSET utf8mb4;
-- 添加⽤⼾信息
INSERT INTO mybatis_test.userinfo ( username, password, age, gender, phone )
VALUES ( admin, admin, 18, 1, 18612340001 );
INSERT INTO mybatis_test.userinfo ( username, password, age, gender, phone )
VALUES ( zhangsan, zhangsan, 18, 1, 18612340002 );
INSERT INTO mybatis_test.userinfo ( username, password, age, gender, phone )
VALUES ( lisi, lisi, 18, 1, 18612340003 );
INSERT INTO mybatis_test.userinfo ( username, password, age, gender, phone )
VALUES ( wangwu, wangwu, 18, 1, 18612340004 ); 4、需要引入的pom文件依赖
dependencygroupIdorg.mybatis.spring.boot/groupIdartifactIdmybatis-spring-boot-starter/artifactIdversion2.3.1/version/dependencydependencygroupIdcom.mysql/groupIdartifactIdmysql-connector-j/artifactIdscoperuntime/scope/dependencydependencygroupIdtk.mybatis/groupIdartifactIdmapper/artifactIdversion4.0.0/version/dependency
5、数据库查询代码
1接口
package com.example.demo;import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;import java.util.List;Mapper
public interface UserInfoMapper {//访问数据库数据Select(select * from userinfo)ListUserInfo queryUserList();
}
2定义对象
package com.example.demo;
import lombok.Data;
import java.util.Date;Data
public class UserInfo {//数据库里面有什么我们这里就定义什么private Integer id;private String username;private String password;private Integer age;private Integer gender;private String phone;private Integer deleteFlag;private Date createTime;private Date updateTime;
}
3测试类
package com.example.demo;import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;SpringBootTest
class DemoApplicationTests {Autowired
private UserInfoMapper userInfoMapper;Testvoid contextLoads() {System.out.println(userInfoMapper.queryUserList());}
}
6、数据删除方式有两种
1逻辑删除update推荐
2物理删除delete
7、在Mybatis当中我们可以借助⽇志, 查看到sql语句的执⾏、执⾏传递的参数以及执⾏结果在配置⽂件中进⾏配置
mybatis:configuration: # 配置打印 MyBatis⽇志log-impl: org.apache.ibatis.logging.stdout.StdOutImpl 8、生成测试测试类上面要加SpringBootTest 9、单参查寻只有一个参数时#后面的名称无所谓随便定义
1接口部分代码 Select(select * from userinfo where id #{userId})UserInfo queryUserInfo(Integer userId);
2测试部分代码
void queryUserInfo() {log.info(userInfoMapper.queryUserInfo(1).toString());}
10、多参数时
1接口部分代码idea上面创建的代码阿里云创建的不能应用此方法
Select(select * from userinfo where id #{userId} and delete_flag #{deleteFlag})UserInfo queryUserInfo( Integer userId, Integer deleteFlag);
1接口部分代码阿里云创建的项目代码 Select(select * from userinfo where id #{param1} and delete_flag #{param2})UserInfo queryUserInfo(Integer id, Integer deleteFlag);
2测试部分代码 void testQueryUserInfo() {log.info(userInfoMapper.queryUserInfo(1,0).toString());}
11、参数重命名重命名之后不能用之前的
1接口部分代码 Select(select * from userinfo where id #{id} and delete_flag #{param2})UserInfo queryUserInfo(Param(id) Integer id, Integer deleteFlag);
2测试部分代码
void testQueryUserInfo() {log.info(userInfoMapper.queryUserInfo(1,0).toString());}
12、web调用查询代码三层架构模式
1Controller代码
package com.example.demo;import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;import java.util.List;RestController
RequestMapping(/user)
public class UserController {Autowiredprivate UserService userService;RequestMapping(/queryAllUser)public ListUserInfo queryAllUser(){return userService.queryAllUser();}
}
2Service代码
package com.example.demo;import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;import java.util.List;Service
public class UserService {Autowiredprivate UserInfoMapper userInfoMapper;public ListUserInfo queryAllUser(){return userInfoMapper.queryUserList();}
}3Mapper代码
package com.example.demo;import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;import java.util.List;Mapper
public interface UserInfoMapper {//访问数据库数据Select(select * from userinfo)ListUserInfo queryUserList();
}
4查询结果 13、插入数据
1接口部分代码 Select(insert into userinfo (username,password,age,gender,phone) values(#{username},#{password},#{age},#{gender},#{phone}))Integer insert(UserInfo userInfo);
2测试部分代码 Testvoid insert() {UserInfo userInfonew UserInfo();userInfo.setUsername(zhangsan);userInfo.setPassword(123456);userInfo.setAge(18);userInfo.setGender(0);userInfo.setPhone(18330322);userInfoMapper.insert(userInfo);}
3重命名的方式
Select(insert into userinfo (username,password,age,gender,phone) values(#{userInfo.username},#{userInfo.password},#{userInfo.age},#{userInfo.gender},#{userInfo.phone}))Integer insert(Param(userInfo) UserInfo userInfo);
4获得自增的数据比如我们买东西我们可以看我们买了多少东西这样有个数
4.1接口部分代码
Options(useGeneratedKeys true,keyProperty id)Insert(insert into userinfo (username,password,age,gender,phone) values(#{username},#{password},#{age},#{gender},#{phone}))Integer insert(UserInfo userInfo);
4.2测试部分代码 Testvoid insert() {UserInfo userInfonew UserInfo();userInfo.setUsername(zhangsan);userInfo.setPassword(123456);userInfo.setAge(18);userInfo.setGender(0);userInfo.setPhone(18330322);Integer result userInfoMapper.insert(userInfo);log.info(插入了几条数据result自增Id是userInfo.getId());}
14、删除数据
1接口部分代码 Delete(delete from userinfo where id#{id})Integer delete(Param(id) Integer id);
2测试部分代码 Testvoid delete() {userInfoMapper.delete(11);}
15、更改数据
1接口部分代码idea创建的项目 Update(update userinfo set password#{password} where id#{id})Integer update(String password,Integer id);
1接口部分代码阿里云创建的项目
Update(update userinfo set password#{param1} where id#{param2})Integer update(String password,Integer id);
2测试部分代码 Testvoid update() {userInfoMapper.update(777777,12);}
15.1、放在对象里更新
1接口部分代码 Update(update userinfo set username#{username},password#{password},age#{age} where id#{id})Integer update(UserInfo userInfo);
2测试部分代码
Testvoid update() {UserInfo userInfonew UserInfo();userInfo.setUsername(lisi);userInfo.setPassword(987654);userInfo.setAge(10);userInfo.setId(12);userInfoMapper.update(userInfo);}
16、mybatis赋值失败原因 1解决办法
1.1改别名 用as的方法
Select(select id,username,password,age,phone, delete_flag as deleteFlag,create_time as createTime,update_time as updateTime from userinfo)ListUserInfo queryUserList();
1.2注解方式 Results({Result(column delete_flag,property deleteFlag),Result(column create_time,property createTime),})Select(select * from userinfo)ListUserInfo queryUserList();
1.31.2的Results的复用 Results(id base,value {Result(column delete_flag,property deleteFlag),Result(column create_time,property createTime),})Select(select * from userinfo)ListUserInfo queryUserList();ResultMap(value base)Select(select id,username,password,age,phone,delete_flag ,create_time,update_time from userinfo)UserInfo queryUserInfo( Integer userId, Integer deleteFlag);
♥1.4开启驼峰命名(推荐)
直接配置yml文件
mybatis:configuration:map-underscore-to-camel-case: true
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/89946.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!