목차
1.1MyBatis简介
1.2MyBatis+Spring+MySql简单配置
1.2.1搭建Spring环境
1.2.3搭建MyBatis环境
1.2.3.2创建数据访问接口
1.2.4测试StudentMapper
데이터 베이스 MySQL 튜토리얼 一、MyBatis简介与配置MyBatis+Spring+MySql

一、MyBatis简介与配置MyBatis+Spring+MySql

Jun 07, 2016 pm 03:10 PM
mybatis 소개 구성

MyBatis学习 之 一、MyBatis简介与配置MyBatis+Spring+MySql MyBatis学习 之 二、SQL语句映射文件(1)resultMap MyBatis学习 之 二、SQL语句映射文件(2)增删改查、参数、缓存 MyBatis学习 之 三、动态SQL语句 MyBatis学习 之 四、MyBatis配置文件 1.1MyBatis

MyBatis学习 之 一、MyBatis简介与配置MyBatis+Spring+MySql

MyBatis学习 之 二、SQL语句映射文件(1)resultMap

MyBatis学习 之 二、SQL语句映射文件(2)增删改查、参数、缓存

MyBatis学习 之 三、动态SQL语句

MyBatis学习 之 四、MyBatis配置文件


1.1MyBatis简介

     MyBatis 是一个可以自定义SQL、存储过程和高级映射的持久层框架。MyBatis 摒除了大部分的JDBC代码、手工设置参数和结果集重获。MyBatis 只使用简单的XML 和注解来配置和映射基本数据类型、Map 接口和POJO 到数据库记录。相对Hibernate和Apache OJB等“一站式”ORM解决方案而言,Mybatis 是一种“半自动化”的ORM实现。
需要使用的Jar包:mybatis-3.0.2.jar(mybatis核心包)。mybatis-spring-1.0.0.jar(与Spring结合包)。

下载地址:
http://ibatis.apache.org/tools/ibator
http://code.google.com/p/mybatis/


1.2MyBatis+Spring+MySql简单配置

1.2.1搭建Spring环境

1,建立maven的web项目;
2,加入Spring框架、配置文件;
3,在pom.xml中加入所需要的jar包(spring框架的、mybatis、mybatis-spring、junit等);
4,更改web.xml和spring的配置文件;
5,添加一个jsp页面和对应的Controller;
6,测试。

可参照:http://limingnihao.iteye.com/blog/830409。使用Eclipse的Maven构建SpringMVC项目


1.2.2建立MySql数据库

建立一个学生选课管理数据库。
表:学生表、班级表、教师表、课程表、学生选课表。
逻辑关系:每个学生有一个班级;每个班级对应一个班主任教师;每个教师只能当一个班的班主任;

使用下面的sql进行建数据库,先建立学生表,插入数据(2条以上)。

更多sql请下载项目源文件,在resource/sql中。

Sql代码 一、MyBatis简介与配置MyBatis+Spring+MySql

  1. /* 建立数据库 */  

  2. CREATEDATABASE STUDENT_MANAGER;  

  3. USE STUDENT_MANAGER;  

  4. /***** 建立student表 *****/  

  5. CREATETABLE STUDENT_TBL  

  6. (  

  7.   STUDENT_ID         VARCHAR(255) PRIMARYKEY,  

  8.   STUDENT_NAME       VARCHAR(10) NOTNULL,  

  9.   STUDENT_SEX        VARCHAR(10),  

  10.   STUDENT_BIRTHDAY   DATE,  

  11.   CLASS_ID           VARCHAR(255)  

  12. );  

  13. /*插入**/  

  14. INSERTINTO STUDENT_TBL (STUDENT_ID,  

  15.                         STUDENT_NAME,  

  16.                         STUDENT_SEX,  

  17.                         STUDENT_BIRTHDAY,  

  18.                         CLASS_ID)  

  19. VALUES   (123456,  

  20. '某某某',  

  21. '女',  

  22. '1980-08-01',  

  23.            121546  

  24.            )  



创建连接MySql使用的配置文件mysql.properties。

Mysql.properties代码 一、MyBatis简介与配置MyBatis+Spring+MySql

  1. jdbc.driverClassName=com.mysql.jdbc.Driver  

  2. jdbc.url=jdbc:mysql://localhost:3306/student_manager?user=root&password=limingnihao&useUnicode=true&characterEncoding=UTF-8



1.2.3搭建MyBatis环境

顺序随便,现在的顺序是因为可以尽量的少的修改写好的文件。


1.2.3.1创建实体类: StudentEntity

Java代码 一、MyBatis简介与配置MyBatis+Spring+MySql

  1. publicclass StudentEntity implements Serializable {  

  2. privatestaticfinallong serialVersionUID = 3096154202413606831L;  

  3. private ClassEntity classEntity;  

  4. private Date studentBirthday;  

  5. private String studentID;  

  6. private String studentName;  

  7. private String studentSex;  

  8. public ClassEntity getClassEntity() {  

  9. return classEntity;  

  10.    }  

  11. public Date getStudentBirthday() {  

  12. return studentBirthday;  

  13.    }  

  14. public String getStudentID() {  

  15. return studentID;  

  16.    }  

  17. public String getStudentName() {  

  18. return studentName;  

  19.    }  

  20. public String getStudentSex() {  

  21. return studentSex;  

  22.    }  

  23. publicvoid setClassEntity(ClassEntity classEntity) {  

  24. this.classEntity = classEntity;  

  25.    }  

  26. publicvoid setStudentBirthday(Date studentBirthday) {  

  27. this.studentBirthday = studentBirthday;  

  28.    }  

  29. publicvoid setStudentID(String studentID) {  

  30. this.studentID = studentID;  

  31.    }  

  32. publicvoid setStudentName(String studentName) {  

  33. this.studentName = studentName;  

  34.    }  

  35. publicvoid setStudentSex(String studentSex) {  

  36. this.studentSex = studentSex;  

  37.    }  

  38. }  




1.2.3.2创建数据访问接口

Student类对应的dao接口:StudentMapper。

Java代码 一、MyBatis简介与配置MyBatis+Spring+MySql

  1. publicinterface StudentMapper {  

  2. public StudentEntity getStudent(String studentID);  

  3. public StudentEntity getStudentAndClass(String studentID);  

  4. public List getStudentAll();  

  5. publicvoid insertStudent(StudentEntity entity);  

  6. publicvoid deleteStudent(StudentEntity entity);  

  7. publicvoid updateStudent(StudentEntity entity);  

  8. }  



1.2.3.3创建SQL映射语句文件


Student类的sql语句文件StudentMapper.xml

Xml代码 一、MyBatis简介与配置MyBatis+Spring+MySql

  1. xmlversion="1.0"encoding="UTF-8"?>

  2. span>>

  3. mappernamespace="com.manager.data.StudentMapper">

  4. resultMaptype="StudentEntity"id="studentResultMap">

  5. idproperty="studentID"column="STUDENT_ID"/>

  6. resultproperty="studentName"column="STUDENT_NAME"/>

  7. resultproperty="studentSex"column="STUDENT_SEX"/>

  8. resultproperty="studentBirthday"column="STUDENT_BIRTHDAY"/>

  9. resultMap>

  10. selectid="getStudent"parameterType="String"resultType="StudentEntity"resultMap="studentResultMap">

  11.            SELECT * from STUDENT_TBL ST

  12.                WHERE ST.STUDENT_ID = #{studentID}

  13.        ]]>

  14. select>

  15. selectid="getStudentAll"resultType="com.manager.data.model.StudentEntity"resultMap="studentResultMap">

  16.            SELECT * from STUDENT_TBL

  17.        ]]>

  18. select>

  19. mapper>




1.2.3.4创建MyBatis的mapper配置文件

在src/main/resource中创建MyBatis配置文件:mybatis-config.xml。


Xml代码 一、MyBatis简介与配置MyBatis+Spring+MySql

  1. xmlversion="1.0"encoding="UTF-8"?>

  2. span>>

  3. configuration>

  4. typeAliases>

  5. typeAliasalias="StudentEntity"type="com.manager.data.model.StudentEntity"/>

  6. typeAliases>

  7. mappers>

  8. mapperresource="com/manager/data/maps/StudentMapper.xml"/>

  9. mappers>

  10. configuration>





1.2.3.5修改Spring 的配置文件

主要是添加SqlSession的制作工厂类的bean:SqlSessionFactoryBean,(在mybatis.spring包中)。需要指定配置文件位置和dataSource。
和数据访问接口对应的实现bean。通过MapperFactoryBean创建出来。需要执行接口类全称和SqlSession工厂bean的引用。

Xml代码 一、MyBatis简介与配置MyBatis+Spring+MySql

  1. context:property-placeholderlocation="classpath:mysql.properties"/>

  2. beanid="dataSource"class="org.springframework.jdbc.datasource.DriverManagerDataSource">

  3. propertyname="driverClassName"value="${jdbc.driverClassName}"/>

  4. propertyname="url"value="${jdbc.url}"/>

  5. bean>

  6. beanid="transactionManager"class="org.springframework.jdbc.datasource.DataSourceTransactionManager">

  7. propertyname="dataSource"ref="dataSource"/>

  8. bean>

  9. beanid="sqlSessionFactory"class="org.mybatis.spring.SqlSessionFactoryBean">

  10. propertyname="configLocation"value="classpath:mybatis-config.xml"/>

  11. propertyname="dataSource"ref="dataSource"/>

  12. bean>

  13. >

  14. beanid="studentMapper"class="org.mybatis.spring.MapperFactoryBean">

  15. propertyname="mapperInterface"value="com.manager.data.StudentMapper"/>

  16. propertyname="sqlSessionFactory"ref="sqlSessionFactory"/>

  17. bean>



也可以不定义mapper的bean,使用注解:

将StudentMapper加入注解


Java代码 一、MyBatis简介与配置MyBatis+Spring+MySql

  1. @Repository

  2. @Transactional

  3. publicinterface StudentMapper {  

  4. }  


对应的需要在dispatcher-servlet.xml中加入扫描:


Xml代码 一、MyBatis简介与配置MyBatis+Spring+MySql

  1. beanclass="org.mybatis.spring.mapper.MapperScannerConfigurer">

  2. propertyname="annotationClass"value="org.springframework.stereotype.Repository"/>

  3. propertyname="basePackage"value="com.liming.manager"/>

  4. propertyname="sqlSessionFactory"ref="sqlSessionFactory"/>

  5. bean>



1.2.4测试StudentMapper

使用SpringMVC测试,创建一个TestController,配置tomcat,访问index.do页面进行测试:

Java代码 一、MyBatis简介与配置MyBatis+Spring+MySql

  1. @Controller

  2. publicclass TestController {  

  3. @Autowired

  4. private StudentMapper studentMapper;  

  5. @RequestMapping(value = "index.do")  

  6. publicvoid indexPage() {    

  7.        StudentEntity entity = studentMapper.getStudent("10000013");  

  8.        System.out.println("name:" + entity.getStudentName());  

  9.    }    

  10. }  



使用Junit测试:

Java代码 一、MyBatis简介与配置MyBatis+Spring+MySql

  1. 使用Junit测试:  

  2. Java代码  

  3. @RunWith(value = SpringJUnit4ClassRunner.class)  

  4. @ContextConfiguration(value = "test-servlet.xml")  

  5. publicclass StudentMapperTest {  

  6. @Autowired

  7. private ClassMapper classMapper;  

  8. @Autowired

  9. private StudentMapper studentMapper;  

  10. @Transactional

  11. publicvoid getStudentTest(){  

  12.        StudentEntity entity = studentMapper.getStudent("10000013");  

  13.        System.out.println("" + entity.getStudentID() + entity.getStudentName());  

  14.        List studentList = studentMapper.getStudentAll();  

  15. for( StudentEntity entityTemp : studentList){  

  16.            System.out.println(entityTemp.getStudentName());  

  17.        }  

  18.    }  

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

Linux 시스템에서 GDM의 작동 원리 및 구성 방법 Linux 시스템에서 GDM의 작동 원리 및 구성 방법 Mar 01, 2024 pm 06:36 PM

제목: Linux 시스템에서 GDM의 작동 원리 및 구성 방법 Linux 운영 체제에서 GDM(GNOMEDisplayManager)은 그래픽 사용자 인터페이스(GUI) 로그인 및 사용자 세션 관리를 제어하는 ​​데 사용되는 일반적인 디스플레이 관리자입니다. 이 기사에서는 GDM의 작동 원리와 구성 방법을 소개하고 구체적인 코드 예제를 제공합니다. 1. GDM의 작동 원리 GDM은 GNOME 데스크탑 환경의 디스플레이 관리자이며 X 서버를 시작하고 사용자에게 로그인 인터페이스를 제공합니다.

MyBatis 동적 SQL 태그의 Set 태그 기능에 대한 자세한 설명 MyBatis 동적 SQL 태그의 Set 태그 기능에 대한 자세한 설명 Feb 26, 2024 pm 07:48 PM

MyBatis 동적 SQL 태그 해석: Set 태그 사용법에 대한 자세한 설명 MyBatis는 풍부한 동적 SQL 태그를 제공하고 데이터베이스 작업 명령문을 유연하게 구성할 수 있는 탁월한 지속성 계층 프레임워크입니다. 그 중 Set 태그는 업데이트 작업에서 매우 일반적으로 사용되는 UPDATE 문에서 SET 절을 생성하는 데 사용됩니다. 이 기사에서는 MyBatis에서 Set 태그의 사용법을 자세히 설명하고 특정 코드 예제를 통해 해당 기능을 보여줍니다. Set 태그란 무엇입니까? Set 태그는 MyBati에서 사용됩니다.

Linux Bashrc 이해: 기능, 구성 및 사용법 Linux Bashrc 이해: 기능, 구성 및 사용법 Mar 20, 2024 pm 03:30 PM

Linux Bashrc 이해: 기능, 구성 및 사용법 Linux 시스템에서 Bashrc(BourneAgainShellruncommands)는 시스템 시작 시 자동으로 실행되는 다양한 명령과 설정이 포함된 매우 중요한 구성 파일입니다. Bashrc 파일은 일반적으로 사용자의 홈 디렉토리에 있으며 숨겨진 파일입니다. 해당 기능은 사용자를 위해 Bashshell 환경을 사용자 정의하는 것입니다. 1. Bashrc 기능 설정 환경

Python ORM 성능 벤치마크: 다양한 ORM 프레임워크 비교 Python ORM 성능 벤치마크: 다양한 ORM 프레임워크 비교 Mar 18, 2024 am 09:10 AM

ORM(객체 관계형 매핑) 프레임워크는 Python 개발에서 중요한 역할을 하며, 객체와 관계형 데이터베이스 사이에 브리지를 구축하여 데이터 액세스 및 관리를 단순화합니다. 다양한 ORM 프레임워크의 성능을 평가하기 위해 이 기사에서는 다음과 같은 널리 사용되는 프레임워크를 벤치마킹합니다. sqlAlchemyPeeweeDjangoORMPonyORMTortoiseORM 테스트 방법 벤치마크에서는 100만 개의 레코드가 포함된 SQLite 데이터베이스를 사용합니다. 테스트는 데이터베이스에서 다음 작업을 수행했습니다. 삽입: 테이블에 10,000개의 새 레코드를 삽입합니다. 읽기: 테이블의 모든 레코드를 읽습니다. 업데이트: 테이블의 모든 레코드에 대해 단일 필드를 업데이트합니다. 삭제: 테이블의 모든 레코드를 삭제합니다. 각 작업

Linux 시스템에서 FTPS를 구성하고 설치하는 방법 Linux 시스템에서 FTPS를 구성하고 설치하는 방법 Mar 20, 2024 pm 02:03 PM

제목: Linux 시스템에서 FTPS를 구성하고 설치하는 방법에는 특정 코드 예제가 필요합니다. Linux 시스템에서 FTPS는 FTP와 비교하여 전송된 데이터를 TLS/SSL 프로토콜을 통해 암호화하므로 성능이 향상됩니다. 데이터 전송의 보안. 이 기사에서는 Linux 시스템에서 FTPS를 구성 및 설치하는 방법을 소개하고 구체적인 코드 예제를 제공합니다. 1단계: vsftpd 설치 터미널을 열고 다음 명령을 입력하여 vsftpd를 설치합니다. sudo

빅데이터 프로젝트에 Python ORM 적용 빅데이터 프로젝트에 Python ORM 적용 Mar 18, 2024 am 09:19 AM

ORM(객체 관계형 매핑)은 개발자가 SQL 쿼리를 직접 작성하지 않고도 객체 프로그래밍 언어를 사용하여 데이터베이스를 조작할 수 있도록 하는 프로그래밍 기술입니다. Python의 ORM 도구(예: SQLAlchemy, Peewee 및 DjangoORM)는 빅 데이터 프로젝트의 데이터베이스 상호 작용을 단순화합니다. 장점 코드 단순성: ORM을 사용하면 긴 SQL 쿼리를 작성할 필요가 없으므로 코드 단순성과 가독성이 향상됩니다. 데이터 추상화: ORM은 데이터베이스 구현 세부 사항에서 애플리케이션 코드를 분리하여 유연성을 향상시키는 추상화 계층을 제공합니다. 성능 최적화: ORM은 캐싱 및 일괄 작업을 사용하여 데이터베이스 쿼리를 최적화함으로써 성능을 향상시키는 경우가 많습니다. 이식성: ORM을 통해 개발자는 다음을 수행할 수 있습니다.

내 win11 컴퓨터의 구성을 어디서 확인할 수 있나요? win11 컴퓨터의 구성 정보를 찾는 방법 내 win11 컴퓨터의 구성을 어디서 확인할 수 있나요? win11 컴퓨터의 구성 정보를 찾는 방법 Mar 06, 2024 am 10:10 AM

win11 시스템을 사용하다 보면 가끔 컴퓨터 구성을 확인해야 할 때가 있는데, 많은 사용자들이 win11 컴퓨터 구성을 어디서 확인해야 하는지 묻고 있습니다. 실제로 방법은 매우 간단합니다. 사용자는 설정에서 시스템 정보를 직접 열고 컴퓨터 구성 정보를 볼 수 있습니다. 이 사이트에서는 win11 컴퓨터 구성 정보를 찾는 방법을 사용자에게 주의 깊게 소개합니다. win11 컴퓨터 구성 정보를 찾는 방법 방법 1: 1. 시작을 클릭하고 컴퓨터 설정을 엽니다. 3. 이 페이지에서 컴퓨터 구성 정보를 볼 수 있습니다. 2. 명령 프롬프트 창에서 systeminfo를 입력하고 Enter를 눌러 컴퓨터 구성을 확인합니다.

Black Myth Wukong에는 어떤 컴퓨터 구성이 필요합니까? Black Myth Wukong에는 어떤 컴퓨터 구성이 필요합니까? Mar 08, 2024 pm 01:22 PM

Black Myth Wukong 게임은 2024년 여름 모든 주요 플랫폼에서 출시될 예정입니다. 플레이어는 게임을 다운로드할 때 특정 컴퓨터 구성을 충족해야 Black Myth Wukong에 필요한 최소 구성을 소개합니다. Black Myth Wukong에 필요한 컴퓨터 구성은 무엇입니까? 최소 구성 운영 체제: Windows 7, Windows 8.1, Windows 10(모두 64비트) 프로세서: Intel Corei5-4430/AMDFX-6300 실행 메모리: 8GB RAM 그래픽 카드: NVIDIA GeForce GTX9602GB /AMDRadeon R73702GB 저장공간 : 100GB 필요 사용가능공간 권장 운영체제 : Windows 7, Win

See all articles