1,項目結構


2,表單結構

3.代碼
- package com.entity;
-
- public class Book {
-
- private int bookid;
- private String bookname;
- private String bookauthor;
- private int bookprice;
-
- public Book() {
- super();
- }
-
- public Book(int bookid, String bookname, String bookauthor, int bookprice) {
- super();
- this.bookid = bookid;
- this.bookname = bookname;
- this.bookauthor = bookauthor;
- this.bookprice = bookprice;
- }
-
- public Book(String bookname, String bookauthor, int bookprice) {
- super();
- this.bookname = bookname;
- this.bookauthor = bookauthor;
- this.bookprice = bookprice;
- }
-
- public int getBookid() {
- return bookid;
- }
-
- public void setBookid(int bookid) {
- this.bookid = bookid;
- }
-
- public String getBookname() {
- return bookname;
- }
-
- public void setBookname(String bookname) {
- this.bookname = bookname;
- }
-
- public String getBookauthor() {
- return bookauthor;
- }
-
- public void setBookauthor(String bookauthor) {
- this.bookauthor = bookauthor;
- }
-
- public int getBookprice() {
- return bookprice;
- }
-
- public void setBookprice(int bookprice) {
- this.bookprice = bookprice;
- }
-
- }
- <?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.mapper.BookMapper">
-
- <span style="white-space:pre"> </span><resultMap id="mapBook" type="com.entity.Book">
- <id property="bookid" column="id"></id>
- <result property="bookname" column="username"></result>
- <result property="bookprice" column="price"></result>
- <result property="bookauthor" column="author"></result>
- </resultMap></span></strong>
-
- <select id="findById" parameterType="int" resultMap="mapBook">
- select *
- from book where id = #{id}
- </select>
-
- <delete id="del" parameterType="int">
- delete * from book where id =
- #{id}
- </delete>
-
- <insert id="add" parameterType="com.entity.Book">
- insert into book
- values(null,#{bookname},#{bookauthor},#{bookprice})
- </insert>
-
- <select id="show" resultMap="mapBook">
- select * from book
- </select>
-
- </mapper>
- <?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>
- <environments default="development">
- <environment id="development">
- <transactionManager type="JDBC"></transactionManager>
- <dataSource type="POOLED">
- <property name="driver" value="com.mysql.jdbc.Driver"></property>
- <property name="url" value="jdbc:mysql://localhost:3306/<span style="color:#ff6666;"><mysqlDb></span>?characterEncoding=utf-8"></property>
- <property name="username" value=mysqlnam"></property>
- <property name="password" value="mysqlpassword"></property>
- </dataSource>
- </environment>
- </environments>
-
- <mappers>
- <mapper resource="com/mapper/BookMapper.xml"></mapper>
- </mappers>
- </configuration>
3.4 MysqlSessionFactory
- package com.util;
-
- import java.io.IOException;
- import java.io.Reader;
-
- import org.apache.ibatis.io.Resources;
- import org.apache.ibatis.session.SqlSession;
- import org.apache.ibatis.session.SqlSessionFactory;
- import org.apache.ibatis.session.SqlSessionFactoryBuilder;
-
-
- public class MysqlSessionFactory {
- static SqlSession session;
- public SqlSession getSqlSession(){
- try {
- Reader reader = Resources.getResourceAsReader("Configuration.xml");
- SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(reader);
- session = sessionFactory.openSession();
- } catch (IOException e) {
-
- e.printStackTrace();
- }
- return session;
- }
-
- }
- package com.util;
-
- import org.apache.ibatis.session.SqlSession;
-
- import com.entity.*;
-
- public class Test {
-
- public static void main(String[] args) {
-
- MysqlSessionFactory mysqlSessionFactory = new MysqlSessionFactory();
- SqlSession session = mysqlSessionFactory.getSqlSession();
-
- System.out.println(session);
-
- Book book = (Book)session.selectOne("com.mapper.BookMapper.findById",25);
- System.out.println(book);
- session.commit();
-
-
- Book bookadd = new Book(0, "java","mike",90);
- session.insert("com.mapper.BookMapper.add",bookadd);
- session.commit();
-
-
-
-
- }
-
- }
以上是整個demo的全部源代碼!
只想說這一部分
1,book.javav中的屬性名與mysql中book table中字段名字不匹配:
- <resultMap id="mapBook" type="com.entity.Book">
- <id property="bookid" column="id"></id>
- <result property="bookname" column="username"></result>
- <result property="bookprice" column="price"></result>
- <result property="bookauthor" column="author"></result>
- </resultMap>
resulteMap 是爲了解決book.javav中的屬性名與mysql中book table中字段名字不匹配,沒法進行數據的填充!
2,命名空間
- <mapper namespace="com.mapper.BookMapper">
這個是service的名字,不要寫錯,另外service的方法名也要和配置文件的方法名同樣。
整體感受沒什麼好說的!
1,讀取配置文件得到SqlsessionFactory
2,經過SqlsessionFactory得到sqlsession
那涉及到一個問題:配置文件
配置文件:Configtion.xml
這個文件定義了關於數據源的配置
- <environments default="development">
- <environment id="development">
- <transactionManager type="JDBC"></transactionManager>
- <dataSource type="POOLED">
- <property name="driver" value="com.mysql.jdbc.Driver"></property>
- <property name="url" <span style="font-family: Arial, Helvetica, sans-serif;">value="jdbc:mysql://localhost:3306/</span><span style="font-family: Arial, Helvetica, sans-serif;"></property></span>
- <property name="username" value="mysqlnam"></property>
- <property name="password" value="mysqlpassword"></property>
- </dataSource>
- </environment>
- </environments>
那麼這裏有了鏈接mysql數據庫的必要信息可是咱們的目的是經過java語句操做數據庫
封裝數據庫爲一個POJO,也就是book.java
咱們經過操做book對象操做數據庫的記錄!
那麼類有了就會有類與數據庫中表的關係的對應配置信息BookMapper.xml
其實這裏與其說配置的是表和類的關係還不如說是對sql語句的關係的配置
參數是BOOK對象,與BOOK類創建了聯繫經過強大的#{}讓字段名與類屬性相關聯,實現數據的填充!
不得不說,java的封裝就是強!
類屬性與表字段之間聯繫的肯定,實現了對象和表中數據的關聯!
我的看法,望廣大網友指正!