Dieser Artikel stellt hauptsächlich die Einführung und Konfiguration von MyBatis vor und stellt die einfache Konfiguration von MyBatis+Spring+MySql vor. Interessierte können mehr erfahren
Einführung in MyBatis
MyBatis ist ein Persistenzschicht-Framework, das SQL, gespeicherte Prozeduren und erweiterte Zuordnungen anpassen kann. MyBatis eliminiert den Großteil des JDBC-Codes, die manuelle Einstellung von Parametern und den Abruf von Ergebnismengen. MyBatis verwendet nur einfaches XML und Annotationen, um grundlegende Datentypen zu konfigurieren und zuzuordnen, Schnittstellen und POJOs Datenbankeinträgen zuzuordnen. Im Vergleich zu „One-Stop“-ORM-Lösungen wie Hibernate und Apache OJB handelt es sich bei Mybatis um eine „halbautomatisierte“ ORM-Implementierung.
Das Jar-Paket, das verwendet werden muss: mybatis-3.0.2.jar (Mybatis-Kernpaket). mybatis-spring-1.0.0.jar (Paket kombiniert mit Spring).
MyBatis+Spring+MySql einfache Konfiguration
Erstellen einer Spring-Umgebung
1. Erstellen Sie ein Maven-Webprojekt;
3. Fügen Sie die erforderlichen JAR-Pakete (Spring Framework, Mybatis-Spring, Junit) hinzu usw.);
4, die web.xml- und Spring-Konfigurationsdateien ändern
5, eine JSP-Seite und den entsprechenden Controller hinzufügen
6, testen.
Erstellen Sie eine MySQL-Datenbank
/* 建立数据库 */ CREATE DATABASE STUDENT_MANAGER; USE STUDENT_MANAGER; /***** 建立student表 *****/ CREATE TABLE STUDENT_TBL ( STUDENT_ID VARCHAR(255) PRIMARY KEY, STUDENT_NAME VARCHAR(10) NOT NULL, STUDENT_SEX VARCHAR(10), STUDENT_BIRTHDAY DATE, CLASS_ID VARCHAR(255) ); /*插入**/ INSERT INTO STUDENT_TBL (STUDENT_ID, STUDENT_NAME, STUDENT_SEX, STUDENT_BIRTHDAY, CLASS_ID) VALUES (123456, '某某某', '女', '1980-08-01', 121546 )Erstellen Sie die Konfigurationsdatei mysql.properties, die für die Verbindung mit MySQL verwendet wird.
jdbc.driverClassName=com.mysql.jdbc.Driver jdbc.url=jdbc:mysql://localhost:3306/student_manager?user=root&password=bjpowernode&useUnicode=true&characterEncoding=UTF-8
MyBatis-Umgebung erstellen
Entitätsklasse erstellen: StudentEntity
public class StudentEntity implements Serializable { private static final long serialVersionUID = 3096154202413606831L; private ClassEntity classEntity; private Date studentBirthday; private String studentID; private String studentName; private String studentSex; public ClassEntity getClassEntity() { return classEntity; } public Date getStudentBirthday() { return studentBirthday; } public String getStudentID() { return studentID; } public String getStudentName() { return studentName; } public String getStudentSex() { return studentSex; } public void setClassEntity(ClassEntity classEntity) { this.classEntity = classEntity; } public void setStudentBirthday(Date studentBirthday) { this.studentBirthday = studentBirthday; } public void setStudentID(String studentID) { this.studentID = studentID; } public void setStudentName(String studentName) { this.studentName = studentName; } public void setStudentSex(String studentSex) { this.studentSex = studentSex; } }
Datenzugriffsschnittstelle erstellen
public interface StudentMapper { public StudentEntity getStudent(String studentID); public StudentEntity getStudentAndClass(String studentID); public List<StudentEntity> getStudentAll(); public void insertStudent(StudentEntity entity); public void deleteStudent(StudentEntity entity); public void updateStudent(StudentEntity entity); }
SQL-Mapping-Anweisungsdatei erstellen
SQL-Anweisungsdatei für die Schülerklasse StudentMapper.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="com.manager.data.StudentMapper"> <resultMap type="StudentEntity" id="studentResultMap"> <id property="studentID" column="STUDENT_ID"/> <result property="studentName" column="STUDENT_NAME"/> <result property="studentSex" column="STUDENT_SEX"/> <result property="studentBirthday" column="STUDENT_BIRTHDAY"/> </resultMap> <!-- 查询学生,根据id --> <select id="getStudent" parameterType="String" resultType="StudentEntity" resultMap="studentResultMap"> <![CDATA[ SELECT * from STUDENT_TBL ST WHERE ST.STUDENT_ID = #{studentID} ]]> </select> <!-- 查询学生列表 --> <select id="getStudentAll" resultType="commanagerdatamodelStudentEntity" resultMap="studentResultMap"> <![CDATA[ SELECT * from STUDENT_TBL ]]> </select> </mapper>
MyBatis-Mapper-Konfigurationsdatei erstellen
<?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> <typeAliases> <typeAlias alias="StudentEntity" type="com.manager.data.model.StudentEntity"/> </typeAliases> <mappers> <mapper resource="com/manager/data/maps/StudentMapper.xml" /> </mappers> </configuration>
Ändern Sie die Spring-Konfigurationsdatei
<!-- 导入属性配置文件 --> <context:property-placeholder location="classpath:mysql.properties" /> <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> <property name="driverClassName" value="${jdbc.driverClassName}" /> <property name="url" value="${jdbc.url}" /> </bean> <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <property name="dataSource" ref="dataSource" /> </bean> <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="configLocation" value="classpath:mybatis-config.xml" /> <property name="dataSource" ref="dataSource" /> </bean> <!— mapper bean --> <bean id="studentMapper" class="org.mybatis.spring.MapperFactoryBean"> <property name="mapperInterface" value="com.manager.data.StudentMapper" /> <property name="sqlSessionFactory" ref="sqlSessionFactory" /> </bean>Sie können die Mapper-Bean auch nicht definieren, sondern Annotationen verwenden:
@Repository @Transactional public interface StudentMapper { }Entsprechend muss das Scannen zu „dispatcher-servlet.xml“ hinzugefügt werden:
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"> <property name="annotationClass" value="org.springframework.stereotype.Repository"/> <property name="basePackage" value="comlimingmanager"/> <property name="sqlSessionFactory" ref="sqlSessionFactory"/> </bean>
StudentMapper testen
@Controller public class TestController { @Autowired private StudentMapper studentMapper; @RequestMapping(value = "index.do") public void indexPage() { StudentEntity entity = studentMappergetStudent("10000013"); System.out.println("name:" + entity.getStudentName()); } }Test mit Junit:
Das obige ist der detaillierte Inhalt vonEinführung und Konfigurationsdetails von mybatis. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!