목차
6. 데이터베이스 및 데이터베이스 연결 구성 파일 생성
4. mybatis-config.xml 구성 파일 수정
하나: MyBatis 환경 구축
1. 자바 개발 환경 구축
다음을 참조할 수 있습니다: Java 개발 환경 설치 튜토리얼(2023년 최신 상세 그래픽 튜토리얼)은 여기~_zbvcliwenjing의 블로그-CSDN 블로그
2. 톰캣 구성
다음을 참조할 수 있습니다. Tomcat 다운로드, 설치 및 구성(2023년 최신 상세 자습서)이 여기에 있습니다~_zbvcliwenjing의 블로그-CSDN 블로그
3. 데이터베이스 환경 구축
4. 엔지니어링 프로젝트 생성
(1) Eclipse 개발 도구 시작 및 작업 공간 선택
(2) File-->New-->MavenProject-->Check All-->Next-->Group Id:heima_ssm,Artifact Id:heima_ssm,Name:ssmheima,Description:ssm 교과서 예제
(3) Tomcat 서비스 추가:
Windows-->환경 설정-->서버-->런타임 환경-->추가-->Apache-->Apache Tomcat v9.0-->찾아보기(Tomcat의 설치 경로 선택)-->마침-->적용 그리고 닫기
(4) Tomcat 서비스를 시작하고 이 컴퓨터에서 관리 --> 서비스 및 응용 프로그램 --> 서비스 --> Apache Tomcat v9.0... --> 시작 --> 이 창 닫기를 마우스 오른쪽 버튼으로 클릭하고 Eclipse를 열고 서버 찾기 Apache Tomcat v9.0...-->시작을 마우스 오른쪽 버튼으로 클릭
(5) MyBatis - CSDN 라이브러리의 jar 패키지 리소스 중 일부인 jar 패키지를 소개하고 , 압축된 패키지 파일을 다운로드하여 지정된 폴더에 압축을 해제하고 이 경로를 기억해두는데, 여기서 작성자가 직접 E 드라이브에 압축을 해제하고, 그런 다음 eclipse 프로젝트-->빌드 경로-->빌드 경로 구성-->라이브러리-->라이브러리 추가...-->사용자 라이브러리-->다음-->사용자 라이브러리...--에서 마우스 오른쪽 버튼을 클릭합니다. >New...-- >Projlib-->ok-->외부 JAR 추가...-->E:\lib(lib 압축 패키지의 압축 해제 경로)-->모든 jar 패키지 선택-->열기 -->적용 후 닫기-- >마침-->적용 후 닫기
5. 관련 종속성을 소개합니다.
pom.xml 파일을 열고 관련 종속성을 소개합니다. 코드는 다음과 같습니다.
<dependencies>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.2</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.11</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<!-- <scope>test</scope>-->
<scope>compile</scope>
</dependency>
</dependencies>
<build>
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
<filtering>true</filtering>
</resource>
</resources>
</build>
6. 데이터베이스 및 데이터베이스 연결 구성 파일 생성
(1) MySQL 서비스 시작 --> 데이터베이스에 연결 --> MySQL에 heimassm이라는 데이터베이스를 생성합니다. 구체적인 작업은 다음과 같습니다.
SQL 문 생성, 구체적인 연산 및 SQL 문은 다음과 같다.
create database heimassm;
b. 직접 마우스 오른쪽 버튼을 클릭하여 heimassm이라는 데이터베이스를 생성합니다.
(2) 프로젝트의 src/main/resources 디렉토리에 새 데이터베이스 연결 구성 파일을 생성합니다. 여기서는 db.properties라는 이름으로 지정됩니다.
(3) 이 파일에서 데이터베이스 연결의 매개변수를 구성합니다. db.properties 파일의 구체적인 내용은 다음과 같습니다.
mysql.driver=com.mysql.cj.jdbc.Driver
mysql.url=jdbc:mysql://localhost:3306/heimassm?serverTimezone=UTC&characterEncoding=utf8&useUnicode=true&useSSL=false
mysql.username=root
mysql.password=123456
7. MyBatis의 핵심 구성 파일 생성
(1) 프로젝트의 src/main/resources 디렉토리에 새로운 MyBatis 코어 구성 파일을 생성합니다.이 파일은 주로 데이터베이스 연결 관련 구성과 같은 프로젝트 환경 구성에 사용됩니다. 핵심 구성 파일의 이름은 임의로 지정할 수 있지만 일반적으로 이름은 mybatis-config.xml입니다.mybatis-config.xml의 구체적인 구현은 다음과 같습니다.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<!-- 环境配置 -->
<!-- 加载类路径下的属性文件 -->
<properties resource="db.properties"/>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"/>
<!-- 数据库连接相关配置 ,db.properties文件中的内容-->
<dataSource type="POOLED">
<property name="driver" value="${mysql.driver}"/>
<property name="url" value="${mysql.url}"/>
<property name="username" value="${mysql.username}"/>
<property name="password" value="${mysql.password}"/>
</dataSource>
</environment>
</environments>
</configuration>
2. 마이바티스 시작하기
1. 데이터베이스 준비
mybatis 데이터베이스에 users 테이블을 생성하고 users 테이블에 두 개의 데이터를 삽입합니다.구체적인 구현 단계와 SQL 문은 다음과 같습니다.
use heimassm;
create table users(
uid int primary key auto_increment,
uname varchar(20) not null,
uage int not null
);
insert into users(uid, uname, uage) values(null, '张三', 20),(null, '李四', 18);
2. POJO 엔티티 생성
프로젝트의 sn/mainjava 디렉터리 아래에 com.ssm.ch01.pojo 패키지를 만들고 com.ssm.ch01.pojo 패키지 아래에 User 클래스를 만듭니다. 이 클래스는 사용자 개체의 속성을 캡슐화하는 데 사용됩니다.구체적인 구현 단계 및 코드는 다음과 같습니다.
package com.ssm.ch01.pojo;
public class User {
private int uid; //用户id
private String uname; //用户姓名
private int uage; //用户年龄
public int getUid() {
return uid;
}
public void setUid(int uid) {
this.uid = uid;
}
public String getUname() {
return uname;
}
public void setUname(String uname) {
this.uname = uname;
}
public int getUage() {
return uage;
}
public void setUage(int uage) {
this.uage = uage;
}
}
3. 매핑 파일 UserMapper.xml 생성
프로젝트의 src/main/resources 디렉토리 아래에 mapper.ch01 폴더를 생성하고, mapper.ch01 폴더 아래에 UserMapper.xml 매핑 파일을 생성합니다.이 파일은 주로 SOL 문과 Java 객체 간의 매핑을 구성하는 데 사용되므로 해당 SQL 문에서 쿼리한 데이터는 Java 개체로 캡슐화할 수 있습니다. 프로젝트에는 여러 매핑 파일이 있을 수 있으며 각 엔터티 클래스에는 해당 매핑 파일이 있을 수 있습니다. 매핑 파일은 일반적으로 POJO 엔터티 클래스 이름 + 매퍼를 사용하여 이름이 지정됩니다. 예를 들어 User 엔터티 클래스의 매핑 파일 이름은 UserMapper.xml입니다. UserMapper.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为映射的根节点-->
<!-- mapper为映射的根节点,namespace指定Dao接口的完整类名mybatis会依据
这个接口动态创建一个实现类去实现这个接口,而这个实现类是一个Mapper对象-->
<mapper namespace="com.ssm.ch01.pojo.User">
<!--id ="接口中的方法名"
parameterType="传入的参数类型"
resultType = "返回实体类对象,使用包.类名"-->
<select id="findById" parameterType="int"
resultType="com.ssm.ch01.pojo.User">
select * from users where uid = #{id}
</select>
</mapper>
4. mybatis-config.xml 구성 파일 수정
UserMapper.xml 매핑 파일을 프로그램에 로드하기 위해 mybatis-config.xml 매핑 파일에 UserMapper.xml 매핑 파일 경로의 설정을 추가합니다.
<!-- mapping文件路径配置 -->
<mappers>
<mapper resource="mapper/UserMapper.xml"/>
</mappers>
5. 테스트 클래스 작성
프로젝트의 src/test/java 하위에 Test.ch01 패키지를 생성하고, Test.ch01 패키지 하위에 주로 프로그램 테스트에 사용되는 UserTest 클래스를 생성합니다.
package Test.ch01;
import com.ssm.ch01.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.Reader;
public class UserTest {
@Test
public void userFindByIdTest() {
//读取文件名
String resources = "mybatis-config.xml";
//创建流
Reader reader = null;
try {
//读取mybatis-config.xml文件内容到reader对象中
reader = Resources.getResourceAsReader(resources);
} catch (IOException e) {
e.printStackTrace();
}
//初始化mybatis数据库,创建SqlSessionFactory类的实例
SqlSessionFactory sqlMapper = new
SqlSessionFactoryBuilder().build(reader);
//创建SqlSession实例
SqlSession session = sqlMapper.openSession();
//传入参数查询,返回结果
User user = session.selectOne("findById", 1);
//输出结果
System.out.println(user.getUname());
//关闭session
session.close();
}
}