はじめに
大きな違いが休止状態でMyBatisのは、すべてのデータベース操作が簡単な単一テーブルの操作が比較的煩雑であるため、自分の文を書くために必要とされるMyBatisのです。だから、何人かの人々は、あなたが直接メソッドを、対応するDAOを呼び出す多くの単純な単一テーブルのデータベース操作文を省略することができ、このプラグインでtk.mybatisプラグインを開発しました。設定し、次のように使用SSMプロジェクトにプラグインtk.mybatisを使用します。
---------------------開始
1は、依存性のpom.xmlファイルに導入され、
<!-- tk mybatis Begin -->
<dependency>
<groupId>tk.mybatis</groupId>
<artifactId>mapper</artifactId>
<version>3.3.7</version>
</dependency>
<dependency>
<groupId>javax.persistence</groupId>
<artifactId>persistence-api</artifactId>
<version>1.0</version>
</dependency>
<!-- tk mybatis End -->
ばねの構成で構成DAO層、以下の改変を有する走査DAOインターフェースパケットの元の構成。これは、組織がTKを変更を意味します。。。。なお、限り、このような豆のSQLSESSIONなどの他の場所でこのような変更は、このorg.mybatisを伴うよう.......変更する必要はありません、ただ以下でこれを変更します
前変更
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"></property>
<property name="basePackage" value="xxx.xxx.xxx.dao"></property>
</bean>
変更されました
<bean class="tk.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"></property>
<property name="basePackage" value="xxx.xxx.xxx.dao"></property>
</bean>
図3に示すように、基本的な書き込みDAOインターフェイスは、(MapperScannerこのクラスは、このクラスでは、スキャンすることができないパッケージをxxx.xxx.xxx.daoない)、後の処理のためのDAOインタフェースの継承です。DAOインタフェースは、サービスレイヤのコールの動作の単一テーブル手法の大部分を有するように、この基本的なインタフェースを継承します。コードは以下の通りであります:
import tk.mybatis.mapper.common.Mapper;
import tk.mybatis.mapper.common.MySqlMapper;
public interface BaseMapper<T> extends Mapper<T>,MySqlMapper<T> {
}
そうでない場合は、データベーステーブル内の対応するフィールドを見つけることが報告されます4、xxx.xxx.xxx.entityパッケージ、マッピングデータベーステーブルとクラス(変数が@Transientノートは無視されたマップを使用して、データベースのテーブルに存在しないため、間違った)次のように、私は現在、追加しませんでしたエラー、プラスまたはバーコードがありません。
import java.util.List;
import javax.persistence.Column;
import javax.persistence.Id;
import javax.persistence.Table;
@Table(name = "tb_area")
public class Area {
@Id
private Long areaId;
@Column(name = "area_name")
private String areaName;
@Column(name = "area_desc")
private String areaDesc;
@Transient
private List list;
public Long getAreaId() {
return areaId;
}
public void setAreaId(Long areaId) {
this.areaId = areaId;
}
public String getAreaName() {
return areaName;
}
public void setAreaName(String areaName) {
this.areaName = areaName;
}
public String getAreaDesc() {
return areaDesc;
}
public void setAreaDesc(String areaDesc) {
this.areaDesc = areaDesc;
}
}
:5、xxx.xxx.xxx.daoパッケージDAOインターフェイスは、実質的に界面の上方に延びた後には、次のようにコードを呼び出すサービス層コールの動作に最も単一の方法論である持っていることができます
import cn.lianwei.yonyong.pojo.Info;
import cn.lianwei.yonyong.tk.BaseMapper;
import org.springframework.stereotype.Repository;
import java.util.ArrayList;
@Repository
public interface InfoDao extends BaseMapper<Info>{
//查询所有信息
public ArrayList<Info> queryInfo();
}
図6に示すように、使用することができます
@Service
public class InfoServiceImpl implements InfoService {
@Autowired
InfoDao infoDao;
@Override
public ArrayList<Info> queryInfo() {
return (ArrayList<Info>) infoDao.selectAll();
}