# mybatis 配置
**Repository Path**: sflowers/mybatis_configuration
## Basic Information
- **Project Name**: mybatis 配置
- **Description**: mybatis配置流程
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2018-05-28
- **Last Updated**: 2020-12-19
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# mybatis 配置
#### 项目介绍
mybatis配置流程
#### 软件架构
软件架构说明
#### 安装教程
mybatis 配置方式入门实例
-----------------------------------------------------------------
1、建立maven java项目 pom.xml
4.0.0
com.fz
mybatis09
1.0
jar
junit
junit
4.12
test
mysql
mysql-connector-java
8.0.11
org.projectlombok
lombok
1.16.20
provided
org.mybatis
mybatis
3.4.6
${project.artifactId}
src/test/java
src/main/java
src/main/java
**/*.xml
**/*.properties
src/main/resources
**/*.xml
**/*.properties
2、编写src/main/resources/db.properties
#db.driver=com.mysql.jdbc.Driver
db.driver=com.mysql.cj.jdbc.Driver
db.url=jdbc:mysql://localhost:3306/db?serverTimezone=PRC&useSSL=false&useUnicode=true&characterEncoding=utf8
db.username=root
db.password=
3、编写src/main/resources/mybatis-config.xml
4、编写实体类 src/main/java/com/fz/entity/Book.java
package com.fz.entity;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* Created by webrx on 2018-05-24.
*/
@Data @AllArgsConstructor @NoArgsConstructor
public class Book {
private int id;
private String name;
private double price;
}
5、数据库信息准备
create table book(
id int unsigned auto_increment,
name varchar(100),
price double,
primary key(id)
)engine=innodb charset=utf8;
desc book;
insert into book values(null,'《java实战开发》',80.8);
insert into book values(null,'《MySQL实战应用》',50);
select * from book;
6、编写src/main/java/com/fz/mapper/BookMapper.xml 映射文件
delete from book
delete from book where id = #{id}
delete from book where name like #{abc}
insert into book values(null,#{name},#{price})
update book set name=#{name},price=#{price} where id=#{id}
7、测试 src/test/java/com/Demo.java
package com;
import com.fz.entity.Book;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.junit.Test;
import java.io.IOException;
import java.io.InputStream;
/**
* Created by webrx on 2018-05-24.
*/
public class Demo {
@Test
public void aaa(){
InputStream inputStream = null;
try {
inputStream = Resources.getResourceAsStream("mybatis-config.xml");
} catch (IOException e) {
e.printStackTrace();
}
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
SqlSession session = sqlSessionFactory.openSession();
//System.out.println(session.getConnection());
//数据添加
//Map v = new HashMap();
//v.put("price",86.5);
//v.put("name","《企业开发实例》");
//Book v = new Book();
//v.setPrice(60);
//v.setName("《php开发技术》");
//session.insert("book.add",v);
//数据删除
//System.out.println(session.delete("book.del")); //4
//删除指定的条件
//System.out.println(session.delete("book.delById",3));
//System.out.println(session.delete("book.delByName","%实战%"));
//修改数据
Book book = session.selectOne("book.queryById",4);
book.setPrice(20);
book.setName("《php开发技术实战》");
session.update("book.update",book);
//查询单个结果
//Book book = session.selectOne("book.queryById",2);
//System.out.println(book);
//查询集合结果
//List list = session.selectList("book.query");
//System.out.println(list.size());
//for(Book book : list){
// System.out.println(book);
//}
session.commit();
}
}
#### 使用说明
一、解决sqlyog 连接mysql 8.0.11 出现的问题
错误号码2058
Plugin caching_sha2_password could not be loaded:
在mysql客户端执行
alter user 'root'@'localhost' identified by '' password expire never;
alter user 'root'@'localhost' identified with mysql_native_password by '';
alter user 'root'@'localhost' identified by '' password expire never;
alter user 'root'@'localhost' identified with caching_sha2_password by '';
二、刚才直接使用 pom.xml 下载不成 1.16.20
org.projectlombok
lombok
1.16.20
打开d:/maven/conf/settins.xml 文件,增加 aliyun maven 仓库映射地址
nexus-aliyun
*
Nexus aliyun
http://maven.aliyun.com/nexus/content/groups/public
nexus-aliyun
*
Nexus aliyun
http://maven.aliyun.com/nexus/content/groups/public
#### 参与贡献
1. Fork 本项目
2. 新建 Feat_xxx 分支
3. 提交代码
4. 新建 Pull Request
#### 码云特技
1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md
2. 码云官方博客 [blog.gitee.com](https://blog.gitee.com)
3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解码云上的优秀开源项目
4. [GVP](https://gitee.com/gvp) 全称是码云最有价值开源项目,是码云综合评定出的优秀开源项目
5. 码云官方提供的使用手册 [http://git.mydoc.io/](http://git.mydoc.io/)
6. 码云封面人物是一档用来展示码云会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)