hello_mybatis
环境:
java 1.8
mysql
0.Mac 下载Mysql
# 更新 Homebrew
brew update
# 安装 MySQL
brew install mysql
# 启动 MySQL
brew services start mysql# 停止 MySQL
brew services stop mysql# 查看服务状态
zhangyawei@JY6CR4D67W study % brew services list
Name Status User File
mysql started zhangyawei ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
tomcat none
tomcat@8 none # 手动启动
# 启动 MySQL
mysql.server start# 停止 MySQL
mysql.server stop设置 root 密码和安全初始化
mysql_secure_installation
这个命令可以:
● 设置 root 密码
● 删除匿名用户
● 禁止 root 远程登录
● 删除测试数据库mysql -u root -p建立数据mysql> show databases; +--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| study_db |
| sys |
+--------------------+
CREATE DATABASE study_db DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;USE study_db;CREATE TABLE users (id INT AUTO_INCREMENT PRIMARY KEY,name VARCHAR(100) NOT NULL,pwd VARCHAR(100) UNIQUE NOT NULL
);DESCRIBE users;INSERT INTO users (name, pwd) VALUES ('Bob', 'abcdesg');SELECT * FROM users;
- 建立一个maven项目
mvn archetype:generate \-DgroupId=com.yawei \-DartifactId=hello_mybatis \-Dversion=1.0-SNAPSHOT \-DarchetypeGroupId=org.apache.maven.archetypes \-DarchetypeArtifactId=maven-archetype-quickstart \-DarchetypeVersion=1.4 \-DinteractiveMode=false
2.添加依赖 pom.xml
<dependencies><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>3.8.1</version><scope>test</scope></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.33</version></dependency><dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>3.5.13</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>5.3.25</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-jdbc</artifactId><version>5.3.25</version></dependency><dependency><groupId>org.mybatis</groupId><artifactId>mybatis-spring</artifactId><version>2.1.1</version></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.18.24</version></dependency><dependency><groupId>org.aspectj</groupId><artifactId>aspectjweaver</artifactId><version>1.9.7</version></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.18.24</version><scope>provided</scope></dependency><dependency><groupId>org.junit.jupiter</groupId><artifactId>junit-jupiter-api</artifactId><version>5.8.2</version></dependency></dependencies><build><resources><resource><directory>src/main/java</directory><includes><include>**/*.xml</include></includes><filtering>true</filtering></resource></resources></build>
- pojo 实体类 User
package com.yawei.pojo;import lombok.Data;@Data
public class User {private int id;private String name;private String pwd;
}
4.mapper 接口 UserMapper
package com.yawei.mapper;import com.yawei.pojo.User;import java.util.List;public interface UserMapper {public List<User> selectUser();
}
xml文件:UserMapper.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Config 3.0//EN""https://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yawei.mapper.UserMapper"><select id="selectUser" resultType="user">select * from study_db.users;</select></mapper>
- mybatis-config.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configurationPUBLIC "-//mybatis.org//DTD Config 3.0//EN""https://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration><typeAliases><typeAlias alias="User" type="com.yawei.pojo.User"/></typeAliases><environments default="development"><environment id="development"><transactionManager type="JDBC"/><dataSource type="POOLED"><property name="driver" value="com.mysql.cj.jdbc.Driver"/><property name="url" value="jdbc:mysql://localhost:3306/study_db?useSSL=false&useUnicode=true&characterEncoding=utf8"/><property name="username" value="root"/><property name="password" value="123456"/></dataSource></environment></environments><mappers><mapper class="com.yawei.mapper.UserMapper"/></mappers></configuration>
6.测试
import com.yawei.mapper.UserMapper;
import com.yawei.pojo.User;
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;
import java.util.List;public class MyTest {@Testpublic void test() throws IOException {String resources = "mybatis-config.xml";InputStream in = Resources.getResourceAsStream(resources);SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(in);SqlSession sqlsession = sessionFactory.openSession(true);UserMapper mapper = sqlsession.getMapper(UserMapper.class);List<User> userList = mapper.selectUser();for (User user : userList) {System.out.println(user);}}
}
7.测试结果
8.目录