家常便饭程序编写制定都亟需多表联合查询,单表操作CRUD 

 学习都以从简单到复杂,本例子是大约单表的增加和删除改起来

 
普通程序编写制定都急需多表联合查询,本例子是突显怎样关联一个表查询的功用,多表能够效仿本例子扩张

 

皇冠现金app 1Note.java

Note.xml

 

 

public class Note {

<?xml version=”1.0″ encoding=”UTF-8″?>

 private int sid=0;

<!DOCTYPE sqlMap PUBLIC “-//ibatis.apache.org//DTD SQL Map 2.0//EN”

 private String sname=null;

http://ibatis.apache.org/dtd/sql-map-2.dtd"&gt;

 private String major=null;

<sqlMap>

 private Date birth=null;

 <typeAlias alias=”Note” type=”com.it.Note”/>

 private int book_oid;
 public int getBook_oid() {
    return book_oid;
}

 <select id=”selectAllNote” resultClass=”Note”>

public void setBook_oid(int bookOid) {
    book_oid = bookOid;
}

   select * 

public int getSid() {
    return sid;
}

 from Note 

public void setSid(int sid) {
    this.sid = sid;
}

 </select>

public String getSname() {
    return sname;
}

 <select id=”selectNoteById” 

public void setSname(String sname) {
    this.sname = sname;
}

 parameterClass=”int” resultClass=”Note”>

public String getMajor() {
    return major;
}

 select sid,sname,major,birth from Note where sid=#sid#

public void setMajor(String major) {
   this.major = major;
}

 </select>

public Date getBirth() {
    return birth;
}

 <insert id=”insertNote” parameterClass=”Note”>

public void setBirth(Date birth) {
    this.birth = birth;
}
}

 insert into Note (

 

 sid,

 

 sname,

 

 major,

Book.java

 birth

 

 )

package com.it;
import java.util.List;

 values(

public class Book {
 private int oid;
 private String name;
 private List notes;

 #sid#,#sname#,#major#,#birth#)

 public int getOid() {
    return oid;
}

 </insert>

public void setOid(int oid) {
    this.oid = oid;
}

 <update id =”updateNoteById” parameterClass=”Note”>

public String getName() {
    return name;
}

 update note

public void setName(String name) {
    this.name = name;
}

 set sname=#sname#,

public List getNotes() {
    return notes;
}

      major=#major#,

public void setNotes(List notes) {
    this.notes = notes;
}
}

      birth=#birth#

 

      where sid=#sid#   

 

 </update>

 

 
 <delete id=”deleteNoteById” parameterClass=”int”>

Book.xml

 delete from Note where sid=#sid#

 

 </delete>
<parameterMap id=”noteParameters” class=”Note” >

<?xml version=”1.0″ encoding=”UTF-8″?>
<!DOCTYPE sqlMap PUBLIC “-//ibatis.apache.org//DTD SQL Map 2.0//EN”

<parameter property=”sname” jdbcType=”VARCHAR” javaType=”java.lang.String” mode=”INOUT”/>
</parameterMap>

http://ibatis.apache.org/dtd/sql-map-2.dtd"&gt;

<procedure id=”getNotes” parameterMap=”noteParameters” >
{call swap_email_address (?)}
</procedure>
</sqlMap>

<sqlMap>

 

 <typeAlias alias=”Book” type=”com.it.Book”/>
 <resultMap id=”BookResult” class=”Book”> 
 <result property=”oid” column=”oid”/> 
 <result property=”name” column=”name”/> 
 <result property=”notes” column=”oid” select=”geNotesByBookId”/> 
  </resultMap>
   <select id=”selectAllBooks” resultMap=”BookResult”> 
 <![CDATA[ 
 select oid,b.name from book b
 ]]> 

Note.Java

 </select> 
 <select id=”geNotesByBookId” parameterClass=”int” resultClass=”Note”> 

 

 <![CDATA[ 
 select u.book_oid,u.sname from note u where u.book_oid = #sid# 
 ]]> 
 </select>
</sqlMap>

package com.it;
import java.sql.Date;

 

public class Note {

Note.xml

 private int sid=0;

 

 private String sname=null;

<?xml version=”1.0″ encoding=”UTF-8″?>

 private String major=null;

<!DOCTYPE sqlMap PUBLIC “-//ibatis.apache.org//DTD SQL Map 2.0//EN”

 private Date birth=null;

http://ibatis.apache.org/dtd/sql-map-2.dtd"&gt;

 private int book_oid;

<sqlMap>
 <typeAlias alias=”Note” type=”com.it.Note”/>
 <select id=”selectAllNote” resultClass=”Note”>
   select * 

 public int getBook_oid() {
    return book_oid;
}

 from Note 

public void setBook_oid(int bookOid) {
    book_oid = bookOid;
}

 </select>

public int getSid() {
    return sid;
}

</sqlMap>

public void setSid(int sid) {
    this.sid = sid;
}

 

public String getSname() {
    return sname;
}

测试

public void setSname(String sname) {
    this.sname = sname;
}

 

public String getMajor() {
    return major;
}

package com.it;
/***

public void setMajor(String major) {
    this.major = major;
}

 *2009-10-8 

public Date getBirth() {
    return birth;
}

 *2表关联 

public void setBirth(Date birth) {
    this.birth = birth;
}
}

 **/
import java.io.IOException;
import java.io.Reader;
import java.sql.Date;
import java.sql.SQLException;
import java.util.Iterator;
import java.util.List;

 

import com.ibatis.sqlmap.client.SqlMapClient;

记念在sqlMapConfig.xml中加如下语句

public class INoteDAOImpl implements INoteDao {
     private static SqlMapClient sqlMapClinet=null;

<sqlMap
resource=“com/it/Note.xml”/>

    static {

推行文书

           Reader reader;
     try {

 

         String resource=”com/it/SqlMapConfig.xml”;

package com.it;

        reader = com.ibatis.common.resources.Resources.getResourceAsReader(resource);                   sqlMapClinet=com.ibatis.sqlmap.client.SqlMapClientBuilder.buildSqlMapClient(reader);

/***

           reader.close();   

 *2009-10-8 

            } catch (IOException e) {

 *单表操作CRUD 

               e.printStackTrace();
            }
         }    

 **/
import java.io.IOException;

    public static void main( String[] args) {
     try {

import java.io.Reader;

      List<Book> books=sqlMapClinet.queryForList(“selectAllBooks”);
       System.out.println(books.size());
        Book book=(Book)books.get(0);
        //System.out.println(book.getName());
        List notes=(List) book.getNotes();

import java.sql.Date;

       for (Iterator iterator = notes.iterator(); iterator.hasNext();) {

import java.sql.SQLException;

       Note note = (Note) iterator.next();
        System.out.println(note.getBook_oid());
        System.out.println(note.getSname());
       }
                   } catch (SQLException e) {

import java.util.Iterator;

                            e.printStackTrace();
                   }
         }
}

import java.util.List;

 

import com.ibatis.sqlmap.client.SqlMapClient;

public class INoteDAOImpl implements INoteDao {

private static SqlMapClient sqlMapClinet=null;
    static {
     Reader reader;

   try {

      String resource=”com/it/SqlMapConfig.xml”;

     reader = com.ibatis.common.resources.Resources.getResourceAsReader(resource);          

                            sqlMapClinet=com.ibatis.sqlmap.client.SqlMapClientBuilder.buildSqlMapClient(reader);        

      reader.close();   

       } catch (IOException e) {

                            // TODO Auto-generated catch block

                            e.printStackTrace();

                   }

         }

        public void addNoteBySequence(Note note) {

         }

 

         public void addNote(Note note) {
                   try {

                            sqlMapClinet.insert(“insertNote”, note);

                   } catch (SQLException e) {

                            e.printStackTrace();

                   }
          }

         public void delNoteById(int id) {

                   try {

                            sqlMapClinet.delete(“deleteNoteById”, id);

                   } catch (SQLException e) {

                            e.printStackTrace();

                   }
         }

         public List<Note> queryAllNote() {

                   List<Note> noteList =null;

                   try {

                            noteList=sqlMapClinet.queryForList(“selectAllNote”);

                   } catch (SQLException e) {

                            e.printStackTrace();
               }
皇冠现金app,              return noteList;

         }

   public Note queryNoteById(int id) {

        Note note =null;

         try {

             note=(Note)sqlMapClinet.queryForObject(“selectNoteById”, id);

         } catch (SQLException e) {

        e.printStackTrace();

        }

        return note;
  }

    public List<Note> queryNoteByName(String name) {

                   return null;

         }

    public void updateNote(Note note) {

       try {

          sqlMapClinet.update(“updateNoteById”, note);

                   } catch (SQLException e) {

       e.printStackTrace();

  }

         }

         public static void main( String[] args) {

                   INoteDao dao=new INoteDAOImpl();      

                   //dao.queryAllStudent();

                   System.out.println(“OK”);

                   /**             

                   for(Note student :dao.queryAllNote()){

                            System.out.println(student.getSname());

                   }
                   System.out.println(dao.queryNoteById(1));**/
                                     Note note =new Note();
                   note.setSid(10);
                   note.setSname(“xname1”);
                   note.setMajor(“C#1”);
                   note.setBirth(Date.valueOf(“2012-10-8”));

                   dao.addNote(note);
         }

}

 

相关文章