어떻게 XML 방식 으로 Mybatis 를 설정 하고 실현 합 니까?
pom 파일 에서 아래 의존 도 를 가 져 옵 니 다.
<!--mybatis -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.4.6</version>
</dependency>
<!--mysql -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.18</version>
</dependency>
<!--log4j -->
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
자바 소스 폴 더 와 resources 자원 폴 더 를 만 들 고 my batis 설정 파일 my baits.xml 과 데이터베이스 파일 db.properties 를 준비 합 니 다.mybaits.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"></properties>
<!-- , -->
<typeAliases>
<package name="cn.cqy.domain"></package>
</typeAliases>
<!-- , , -->
<environments default="dev">
<!-- , id -->
<environment id="dev">
<!-- type:JDBC( )/MANAGED( )-->
<transactionManager type="JDBC"></transactionManager>
<!-- , type(POOLED):MyBatis -->
<dataSource type="POOLED">
<property name="driver" value="${driverClassName}"></property>
<property name="url" value="${url}"></property>
<property name="username" value="${username}"></property>
<property name="password" value="${password}"></property>
</dataSource>
</environment>
</environments>
<!-- mappers ORM -->
<mappers>
<mapper resource="cn/cqy/mapper/StudentMapper.xml"></mapper>
</mappers>
</configuration>
db.propertiesdriverClassName=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/prc?userUnicode=true&characterEncoding=utf8&serverTimezone=UTC
username=root
password=root
데이터베이스 준비
상응하는 대상 을 마련 하 다
Student 대상 을 만 들 고 데이터베이스 표 와 대응 합 니 다.
public class Student {
private String s_id;
private String s_name;
private String s_birth;
private String s_sex;
public Student() {}
//getter,setter
}
mapper 준비,mapper 폴 더 를 만 들 고 Student Mapper 인 터 페 이 스 를 만 듭 니 다.
public interface StudentMapper {
//
public List<Student> selectAll();
//
public Student selectByName(String name);
//
public void insertOne(Student stu);
//
public void deleteByName(String name);
//
public void updateByName(Student stu);
}
resoures 자원 폴 더 에서 mapper 폴 더 경로 와 같은 폴 더 를 만 듭 니 다.그리고 맵 파일 Student Mapper.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 namespace="cn.cqy.mapper.StudentMapper">
<!-- sql id, resultType , POJO cn.cqy.domain.Student-->
<select id="selectAll" resultType="Student">
SELECT s_id,s_name,s_birth,s_sex FROM student
</select>
<!-- , , Java long: Long _long: long ( )-->
<select id="selectByName" resultType="Student" parameterType="String">
SELECT s_id,s_name,s_birth,s_sex FROM student
WHERE s_name = #{name}
</select>
<insert id="insertOne" parameterType="Student">
INSERT INTO student (s_id,s_name,s_birth,s_sex) VALUES (#{s_id},#{s_name},#{s_birth},#{s_sex})
</insert>
<delete id="deleteByName" parameterType="String">
DELETE FROM student where s_name = #{s_name}
</delete>
<update id="updateByName" parameterType="Student" >
UPDATE student SET s_birth = #{s_birth},s_sex = #{s_sex} WHERE s_name = #{s_name}
</update>
</mapper>
MybatisUtil 도구 클래스 추출
public class MybatisUtil {
private static SqlSessionFactory sqlSessionFactory;
// : ,
static {
try {
InputStream is = Resources.getResourceAsStream("mybatis.xml");
SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();
// ( )
sqlSessionFactory = builder.build(is);
} catch (IOException e) {
e.printStackTrace();
}
}
/**
* SqlSession
*/
public static SqlSession getSqlSession() {
return sqlSessionFactory.openSession();
}
public static void closeSqlSession(SqlSession sqlSession) {
if (sqlSession != null) {
sqlSession.close();
}
}
}
테스트 클래스 작성
public class SqlTest {
@Test
public void testSelectAll() {
// SqlSession
SqlSession sqlSession = MybatisUtil.getSqlSession();
// SqlSession POJO
StudentMapper studentMapper = sqlSession.getMapper(StudentMapper.class);
//
List<Student> students = studentMapper.selectAll();
// SqlSession
sqlSession.close();
for (Student student : students) {
System.out.println(student);
}
}
@Test
public void testSelectByName() {
SqlSession sqlSession = MybatisUtil.getSqlSession();
StudentMapper studentMapper = sqlSession.getMapper(StudentMapper.class);
Student stu = studentMapper.selectByName(" ");
sqlSession.close();
System.out.println(stu);
}
@Test
public void testInsertOne() {
SqlSession sqlSession = MybatisUtil.getSqlSession();
StudentMapper studentMapper = sqlSession.getMapper(StudentMapper.class);
Student stu = new Student();
stu.setS_id("09");
stu.setS_name(" ");
stu.setS_birth("1988-08-22");
stu.setS_sex(" ");
studentMapper.insertOne(stu);
// 、 、 ,
sqlSession.commit();
sqlSession.close();
}
@Test
public void testDeleteByName() {
SqlSession sqlSession = MybatisUtil.getSqlSession();
StudentMapper studentMapper = sqlSession.getMapper(StudentMapper.class);
studentMapper.deleteByName(" ");
sqlSession.commit();
sqlSession.close();
}
@Test
public void testUpdateByName() {
SqlSession sqlSession = MybatisUtil.getSqlSession();
StudentMapper studentMapper = sqlSession.getMapper(StudentMapper.class);
Student stu = new Student();
stu.setS_name(" ");
stu.setS_birth("1999-01-22");
stu.setS_sex(" ");
studentMapper.updateByName(stu);
sqlSession.commit();
sqlSession.close();
}
}
테스트 조회 결과이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
VisualForce에서 rerender하면 4 바이트 문자가 깨집니다.SalesForce의 VisualForce에서 rerender하면 4바이트 문자가 깨진 단순히 버튼 누르면 다시 그릴 뿐인 화면을 작성 Test.vfp TestController.apxc 이제 rerender 버튼을...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.