Mybatis 는 xml 설정 을 바탕 으로 단일 표 의 첨삭 검사 기능 을 실현 합 니 다.
Mybatis 소개
홈 페이지 링크:https://mybatis.org/mybatis-3/zh/index.html。더 자세 한 정 보 는 홈 페이지 에서 확인 할 수 있다.
MyBatis 는 사용자 정의 SQL,저장 프로 세 스,고급 맵 을 지원 하 는 우수한 지구 층 프레임 워 크 입 니 다.MyBatis 는 거의 모든 JDBC 코드 와 인 자 를 설정 하고 결과 집합 을 가 져 오 는 작업 을 면제 합 니 다.MyBatis 는 간단 한 XML 또는 주 해 를 통 해 원본 형식,인터페이스 와 자바 POJO(Plain Old Java Objects,일반 구식 자바 대상)를 데이터베이스 에 기록 할 수 있 습 니 다.
MyBatis 를 사용 하려 면 mybatis-x.x.x.jar 파일 을 클래스 경로(classpath)에 두 면 됩 니 다.
Maven 을 사용 하여 프로젝트 를 구축 하려 면 다음 의존 코드 를 pom.xml 파일 에 두 어야 합 니 다.
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>x.x.x</version>
</dependency>
배치 절차1.Mybatis 의 jar 패키지 도입
2.실체 클래스 와 DAO 인터페이스 작성
3.메 인 프로필 추가(my sql 환경,트 랜 잭 션 형식,데이터 원본,데이터 베 이 스 를 연결 하 는 기본 정보,맵 파일 의 위치 설정)
4.DAO 인터페이스의 맵 파일 을 추가 합 니 다(DAO 인터페이스의 위 치 를 가리 키 고 모든 방법 에 맵 을 만들어 야 합 니 다).주:소재 경 로 는 리 소스 폴 더 에 있 고 디 렉 터 리 경 로 는 DAO 의 계층 구조 가 필요 합 니 다.
5.mybatis 프레임 사용
사용 절차(모든 xml 설정 완료)
1.프로필 을 읽 고 my batis 로 포 장 된 Resources 류 를 사용 할 수 있 습 니 다.
2.SQLSession Factory 공장 설립
3.공장 으로 SQLsession 대상 생산
4.SQLSession 을 사용 하여 DAO 인 터 페 이 스 를 만 드 는 프 록 시 대상
5.에이전트 실행 방법 사용
6.트 랜 잭 션 제출,자원 방출
기초 데이터
실체 류
public class User implements Serializable {
/**
* Java Serializable
* 1. -- Serializable , 。
* 2.Serializable Java , 。
*/
private Integer id;
private String username;
private Date birthday;
private String sex;
private String address;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public Date getBirthday() {
return birthday;
}
public void setBirthday(Date birthday) {
this.birthday = birthday;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
@Override
public String toString() {
return "User{" +
"id=" + id +
", username='" + username + '\'' +
", birthday=" + birthday +
", sex='" + sex + '\'' +
", address='" + address + '\'' +
'}';
}
DAO 층 의 인터페이스
public interface IUserDao {
/**
*
* @return User
*/
//@Select("select * from User")
List<User> findAll();
/**
*
* @param user
*/
//@Insert("insert into User(username,address,sex,birthday)values()")
void saveUser(User user);
/**
*
*/
void updateUser(User user);
/**
*
* @param i
*/
void deleteUser(Integer i);
/**
* id
* @param id
* @return
*/
User findById(Integer id);
/**
*
* @param name
* @return
*/
List<User> findByName(String name);
/**
*
* @return
*/
int findTotal();
}
주 프로필
<?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">
<!--myBatis -->
<configuration>
<!-- -->
<environments default="mysql">
<!-- mysql -->
<environment id="mysql">
<!-- -->
<transactionManager type="JDBC"></transactionManager>
<!-- ( )-->
<dataSource type="POOLED">
<!-- -->
<property name="driver" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/eesy"/>
<property name="username" value="root"/>
<property name="password" value="root"/>
</dataSource>
</environment>
</environments>
<!-- -->
<mappers>
<mapper resource="com/dynamic_basics/dao/IUserDao.xml"></mapper>
</mappers>
<!-- ( )-->
<!-- <mappers>
<mapper class="com.dynamic_basics.dao.IUserDao"></mapper>
</mappers>-->
</configuration>
하위 프로필
<?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="com.dynamic_basics.dao.IUserDao">
<!-- Java -->
<resultMap id="userMap" type="com.dynamic_basics.domain.User">
<!-- -->
<id property="userId" column="id"></id>
<!-- -->
<result property="userName" column="username"></result>
<result property="userAddress" column="address"></result>
<result property="userSex" column="sex"></result>
<result property="userBirthday" column="birthday"></result>
</resultMap>
<!-- id -->
<select id="findAl l" resultType="com.dynamic_basics.domain.User" resultMap="userMap">
select * from user
</select>
<!-- -->
<insert id="saveUser" parameterType="com.dynamic_basics.domain.User">
<!-- ognl -->
insert into user(username,address,sex,birthday)values(#{username},#{address},#{sex},#{birthday});
</insert>
<!-- -->
<insert id="updateUser" parameterType="com.dynamic_basics.domain.User">
update user set username=#{username},address=#{address},sex=#{sex},birthday=#{birthday} where id=#{id}
</insert>
<!-- -->
<delete id="deleteUser" parameterType="int">
delete from User where id=#{id}
</delete>
<!-- id -->
<select id="findById" parameterType="int" resultType="com.dynamic_basics.domain.User">
select * from user where id=#{id}
</select>
<!-- -->
<select id="findByName" resultType="com.dynamic_basics.domain.User" parameterType="String">
select * from user where username like #{name}
</select>
<!-- -->
<select id="findTotal" resultType="int">
SELECT COUNT(id) FROM `user`;
</select>
</mapper>
테스트 클래스
/**
* @Author: Promsing
* @Date: 2021/3/29 - 8:58
* @Description:
* @version: 1.0
*/
public class MyBatisTest {
private InputStream in;
private SqlSession sqlSession;
private IUserDao userDao;
@Before
public void init()throws Exception{
//1. Resources myBatis
in= Resources.getResourceAsStream("SqlMapConfig.xml");
//2. SQLSessionFactory
// SqlSessionFactory factory=new SqlSessionFactoryBuilder().build(is);
SqlSessionFactoryBuilder builder=new SqlSessionFactoryBuilder();
SqlSessionFactory factory=builder.build(in);
//3. SQLSession
sqlSession = factory.openSession();
//4. SQLSession DAO
userDao = sqlSession.getMapper(IUserDao.class);
}
@After
public void destory()throws Exception{
//6.
//
sqlSession.commit();
sqlSession.close();
in.close();
}
//
/**
*
*/
@Test
public void selectUser(){
// - Before
//5.
List<User> all = userDao.findAll();
for (User user : all) {
System.out.println(user);
}
// - After
}
/**
*
*/
@Test
public void testSave() {
User user=new User();
user.setUsername("mybatis");
user.setAddress(" ");
user.setSex(" ");
user.setBirthday(new Date());
// - Before
//5.
userDao.saveUser(user);
// - After
}
/**
*
*/
@Test
public void testUpdate() {
User user=new User();
user.setId(50);
user.setUsername("mybatis_plus");
user.setAddress(" ");
user.setSex(" ");
user.setBirthday(new Date());
// - Before
//5.
userDao.updateUser(user);
// - After
}
/**
*
*/
@Test
public void testDelete() {
// - Before
//5.
userDao.deleteUser(50);
// - After
}
/**
*
*/
@Test
public void testFindById() {
// - Before
//5.
User user=userDao.findById(49);
System.out.println(user);
// - After
}
/**
*
*/
@Test
public void testFindByName() {
// - Before
//5.
List<User> users=userDao.findByName("% %");
users.forEach(i-> System.out.println(i));
// - After
}
/**
*
*/
@Test
public void testFindTotal() {
// - Before
//5.
int total=userDao.findTotal();
System.out.println(total);
// - After
}
}
총결산my batis 는 사실 사용 하 는 방법 이 간단 합 니 다.설정 이 다 되 었 을 때 사용 할 때 간단 합 니 다.Mybatis 프레임 워 크 는 JDBC 의 복잡 한 등록 구동,연결 가 져 오기,서로 다른 서비스 클래스(DriverManager,Connection,Statement,ResultSet)를 사용 하여 패키지 합 니 다.사실 프레임 워 크 의 학습 은 프레임 워 크 를 이해 하고 설정 을 익히 며 프레임 워 크 를 사용 하 는 단계 이다.
구체 적 인 배치 에 대한 상세 한 설명 은 가 주 십시오mybatis 홈 페이지
이 글 은 Mybatis 가 xml 설정 을 바탕 으로 단일 표 의 추가 삭제 와 검 사 를 실현 하 는 것 에 관 한 글 을 소개 합 니 다.더 많은 Mybatis 가 단일 표 의 추가 삭제 와 검 사 를 실현 하 는 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 조회 하 시기 바 랍 니 다.앞으로 많은 지원 을 바 랍 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
SpringMVC와 Mybatis 집합은 호출 저장 프로세스, 사무 제어 실례를 실현한다SSM 프레임워크에서 호출 데이터베이스의 저장 프로세스와 사무 제어에 자주 사용되는데 다음은 증빙서류를 저장하는 예를 들어 소개한다. 1. Oracle에 저장된 프로세스 코드는 다음과 같습니다(주요 논리는 증빙 서류...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.