环境: Jdk1.8
mysql :-> mysql 5.7
maven 3.6.1
idea
回顾: JDBC:
Mysql
Java基础:
Maven
Junit
框架:
配置文件: 最好的方式就是:看官网;
mybatis3的中文官方文档,很全面,打开有点慢。
http://www.mybatis.org/mybatis-3/zh/sqlmap-xml.html
mybatis 中文官网:
http://www.mybatis.cn/archives/789.html
mybatis学习官网:
https://mybatis.org/mybatis-3/zh/index.html
1、什么是Mybatis:
mybatis是一款最优秀
Github
进入: Github :https://github.com/mybatis/mybatis-3/tags
中文文档地址:https://mybatis.org/mybatis-3/zh/index.html
也就是在maven里面下载
mybatis pom 下载地址:https://mvnrepository.com/artifact/org.mybatis/mybatis/3.5.2
<!-- https://mvnrepository.com/artifact/org.mybatis/mybatis -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.2</version>
</dependency>
?
数据持久化
持久化就是将程序的数据持久状态和瞬时状态转化的过程;
内存: 断电即失
数据库(Jdbc)io文件持久化。
生活:就比如冷藏
有一些对象,不能让他丢掉,如果不让它持久化的话,就会出现断电即失的意思,
还有一个意思就是: 内存太贵了,
Dao层 Server层,Controller层。
完成持久化工作的代码快;
层界限十分明显:
帮助程序猿将数据存入到数据库中。
方便
传统的JDBC代码太复杂了,简化,框架。自动化。
不用Mybatis也可以额,更容易上手,技术,没有高低之分;
优点:
使用的人多!
思路;搭建环境-》导入Mybatis-》编写代码-》测试
搭建数据库
INSERT INTO user
(id
,name
,pwd
)VALUES
?
INSERT INTO "user" ("id","name","pwd")VALUES
(1,‘大熊‘,‘123241‘),
(2,‘大1熊‘,‘123224‘),
(3,‘大2熊‘,‘123224‘),
(4,‘大3熊‘,‘1212324‘);
这里面的代码有问题
?
1、新建一个普通的maven项目:
2、删除src目录
3、 入门
4、导入maven依赖
编写mybatis的核心配置文件:
在xml中 and就是用 &;表示
里面的内容就是用来连接数据库
代码如下:
作用: 这个工具就是用来获取数据库的一下操作,也就是一个工具类。
package com.xiong.utils;
?
import java.io.InputStream;
import java.io.IOException;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
?
//工具类:
//sqlSessionFactory --》sqlSession
public class MybatisUtils {
private static SqlSessionFactory sqlSessionFactory;
static{
try {
// 使用mybatis的第一步:
// 获取sqlSessionFactory 对象
String resource = "org/mybatis/example/mybatis-config.xml";
InputStream inputStream = Resources.getResourceAsStream(resource);
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
} catch (Exception e) {
e.printStackTrace();
}
?
}
//既然有了 SqlSessionFactory,顾名思义,我们可以从中获得 SqlSession 的实例。
// SqlSession 提供了在数据库执行 SQL 命令所需的所有方法。你可以通过 SqlSession 实例来直接执行已映射的 SQL 语句。例如
?
public static SqlSession getSqlSession(){
SqlSession sqlSession= sqlSessionFactory.openSession();
return sqlSession;
}
?
}
?
实体类:
package com.xiong.pojo;
?
//实体类
public class User {
private int id;
private String name;
private String pwd;
?
public User() {
}
?
public User(int id, String name, String pwd) {
this.id = id;
this.name = name;
this.pwd = pwd;
}
?
public int getId() {
return id;
}
?
public void setId(int id) {
this.id = id;
}
?
public String getName() {
return name;
}
?
public void setName(String name) {
this.name = name;
}
?
public String getPwd() {
return pwd;
}
?
public void setPwd(String pwd) {
this.pwd = pwd;
}
?
Dao接口:
package com.xiong.dao;
?
import com.xiong.pojo.User;
?
import java.util.List;
?
public interface UserDao {
List<User>getUserList();
}
?
接口实现类:有原来的Impl转换位现在的mapper配置文件
主要就是用来执行代码,并返回对应的值:
<build>
<resources>
<resource>
?
?
<directory>src/main/resources</directory><includes>
<include>*.properties</include><include>*.xml</include>
?
</includes>
<filtering>true</fi1tering>
</resource>
?
<resource>
<directory>src/ main/java< /directory>
<includes>
?
<include>**/*.properties</include><include>**/*.xml</include>
</includes>
<filtering>true</fi1tering></resource>
</resources>
</build>
?
?
?
https://www.cnblogs.com/wtao0730/p/13467532.html
Java学习的第八天:基础部分差最后一节,跳出直接学的mybatis
原文:https://www.cnblogs.com/954321xx/p/14920945.html