ibatis.net 练习

1、配置ibatis

引用:用nuget导入ibatis引用
配置:
新建SqlMap.config

<?xml version="1.0" encoding="utf-8"?>
<sqlMapConfig xmlns="http://ibatis.apache.org/dataMapper"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

<!--BAsic Setting About Configuration-->
<settings>
  <setting useStatementNamespaces="false"/>
  <setting cacheModelsEnabled="true"/>
</settings>

<providers resource="providers.config"/>
<database>
  <provider name="sqlServer2008" />
  <dataSource name="SqlServer" connectionString="data source=;database=;user id=;password=;" />
</database>
<!--引入xml文件-->
<sqlMaps>
  <sqlMap resource="Maps/ygBMap.xml"/>
</sqlMaps>
</sqlMapConfig>

  

配置provider.config

<?xml version="1.0" encoding="utf-8"?> 
<providers 
xmlns="http://ibatis.apache.org/providers" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 

<clear/> 
<provider 
name="sqlServer1.0" 
description="Microsoft SQL Server 7.0/2000, provider V1.0.3300.0 in framework .NET V1.0" 
enabled="false" 
assemblyName="System.Data, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" connectionClass="System.Data.SqlClient.SqlConnection" 
commandClass="System.Data.SqlClient.SqlCommand" 
parameterClass="System.Data.SqlClient.SqlParameter" 
parameterDbTypeClass="System.Data.SqlDbType" 
parameterDbTypeProperty="SqlDbType" 
dataAdapterClass="System.Data.SqlClient.SqlDataAdapter" 
commandBuilderClass="System.Data.SqlClient.SqlCommandBuilder" 
usePositionalParameters="false" 
useParameterPrefixInSql="true" 
useParameterPrefixInParameter="true" 
parameterPrefix="@"/> 
<provider 
name="sqlServer1.1" 
description="Microsoft SQL Server 7.0/2000, provider V1.0.5000.0 in framework .NET V1.1" 
enabled="false" 
assemblyName="System.Data, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" connectionClass="System.Data.SqlClient.SqlConnection" 
commandClass="System.Data.SqlClient.SqlCommand" 
parameterClass="System.Data.SqlClient.SqlParameter" 
parameterDbTypeClass="System.Data.SqlDbType" 
parameterDbTypeProperty="SqlDbType" 
dataAdapterClass="System.Data.SqlClient.SqlDataAdapter" 
commandBuilderClass="System.Data.SqlClient.SqlCommandBuilder" 
usePositionalParameters="false" 
useParameterPrefixInSql="true" 
useParameterPrefixInParameter="true" 
parameterPrefix="@"/> 
<provider 
name="sqlServer2.0" 
enabled="false" 
description="Microsoft SQL Server 2005, provider V2.0.50215.0 in framework .NET V2.0" 
assemblyName="System.Data, Version=2.0.50215.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" 
connectionClass="System.Data.SqlClient.SqlConnection" 
commandClass="System.Data.SqlClient.SqlCommand" 
parameterClass="System.Data.SqlClient.SqlParameter" 
parameterDbTypeClass="System.Data.SqlDbType" 
parameterDbTypeProperty="SqlDbType" 
dataAdapterClass="System.Data.SqlClient.SqlDataAdapter" 
commandBuilderClass=" System.Data.SqlClient.SqlCommandBuilder" 
usePositionalParameters = "false" 
useParameterPrefixInSql = "true" 
useParameterPrefixInParameter = "true" 
parameterPrefix="@" 
/> 
<provider 
name="sqlServer2008" 
enabled="true" 
default="true" 
description="Microsoft SQL Server, provider V4.0.0.0 in framework .NET V4.0" 
assemblyName="System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" 
connectionClass="System.Data.SqlClient.SqlConnection" 
commandClass="System.Data.SqlClient.SqlCommand" 
parameterClass="System.Data.SqlClient.SqlParameter" 
parameterDbTypeClass="System.Data.SqlDbType" 
parameterDbTypeProperty="SqlDbType" 
dataAdapterClass="System.Data.SqlClient.SqlDataAdapter" 
commandBuilderClass=" System.Data.SqlClient.SqlCommandBuilder" 
usePositionalParameters = "false" 
useParameterPrefixInSql = "true" 
useParameterPrefixInParameter = "true" 
parameterPrefix="@" 
allowMARS="true" 
/> 
<provider name="OleDb1.1" 
description="OleDb, provider V1.0.5000.0 in framework .NET V1.1" 
enabled="false" 
assemblyName="System.Data, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" connectionClass="System.Data.OleDb.OleDbConnection" 
commandClass="System.Data.OleDb.OleDbCommand" 
parameterClass="System.Data.OleDb.OleDbParameter" 
parameterDbTypeClass="System.Data.OleDb.OleDbType" 
parameterDbTypeProperty="OleDbType" 
dataAdapterClass="System.Data.OleDb.OleDbDataAdapter" 
commandBuilderClass="System.Data.OleDb.OleDbCommandBuilder" 
usePositionalParameters="true" 
useParameterPrefixInSql="false" 
useParameterPrefixInParameter="false" 
parameterPrefix=""/> 
<provider 
name="Odbc1.1" 
description="Odbc, provider V1.0.5000.0 in framework .NET V1.1" 
enabled="false" 
assemblyName="System.Data, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" connectionClass="System.Data.Odbc.OdbcConnection" 
commandClass="System.Data.Odbc.OdbcCommand" 
parameterClass="System.Data.Odbc.OdbcParameter" 
parameterDbTypeClass="System.Data.Odbc.OdbcType" 
parameterDbTypeProperty="OdbcType" 
dataAdapterClass="System.Data.Odbc.OdbcDataAdapter" 
commandBuilderClass="System.Data.Odbc.OdbcCommandBuilder" 
usePositionalParameters="true" 
useParameterPrefixInSql="false" 
useParameterPrefixInParameter="false" 
parameterPrefix="@"/> 
<provider 
name="oracle9.2" 
description="Oracle, Oracle provider V9.2.0.401" 
enabled="false" 
assemblyName="Oracle.DataAccess, Version=9.2.0.401, Culture=neutral, PublicKeyToken=89b483f429c47342" connectionClass="Oracle.DataAccess.Client.OracleConnection" 
commandClass="Oracle.DataAccess.Client.OracleCommand" 
parameterClass="Oracle.DataAccess.Client.OracleParameter" 
parameterDbTypeClass="Oracle.DataAccess.Client.OracleDbType" 
parameterDbTypeProperty="OracleDbType" 
dataAdapterClass="Oracle.DataAccess.Client.OracleDataAdapter" 
commandBuilderClass="Oracle.DataAccess.Client.OracleCommandBuilder" 
usePositionalParameters="false" 
useParameterPrefixInSql="true" 
useParameterPrefixInParameter="false" 
parameterPrefix=":" 
useDeriveParameters="false"/> 
<provider 
name="oracle10.1" 
description="Oracle, oracle provider V10.1.0.301" 
enabled="false" 
assemblyName="Oracle.DataAccess, Version=10.1.0.301, Culture=neutral, PublicKeyToken=89b483f429c47342" connectionClass="Oracle.DataAccess.Client.OracleConnection" 
commandClass="Oracle.DataAccess.Client.OracleCommand" 
parameterClass="Oracle.DataAccess.Client.OracleParameter" 
parameterDbTypeClass="Oracle.DataAccess.Client.OracleDbType" 
parameterDbTypeProperty="OracleDbType" 
dataAdapterClass="Oracle.DataAccess.Client.OracleDataAdapter" 
commandBuilderClass="Oracle.DataAccess.Client.OracleCommandBuilder" 
usePositionalParameters="true" 
useParameterPrefixInSql="true" 
useParameterPrefixInParameter="true" 
parameterPrefix=":" 
useDeriveParameters="false"/> 
<provider 
name="oracleClient1.0" 
description="Oracle, Microsoft provider V1.0.5000.0" 
enabled="true" 
assemblyName="System.Data.OracleClient, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" connectionClass="System.Data.OracleClient.OracleConnection" 
commandClass="System.Data.OracleClient.OracleCommand" 
parameterClass="System.Data.OracleClient.OracleParameter" 
parameterDbTypeClass="System.Data.OracleClient.OracleType" 
parameterDbTypeProperty="OracleType" 
dataAdapterClass="System.Data.OracleClient.OracleDataAdapter" 
commandBuilderClass="System.Data.OracleClient.OracleCommandBuilder" 
usePositionalParameters="false" 
useParameterPrefixInSql="true" 
useParameterPrefixInParameter="false" 
parameterPrefix=":"/> 
<provider 
name="ByteFx" 
description="MySQL, ByteFx provider V0.7.6.15073" 
enabled="false" 
assemblyName="ByteFX.MySqlClient, Version=0.7.6.15073, Culture=neutral, PublicKeyToken=f2fef6fed1732fc1" connectionClass="ByteFX.Data.MySqlClient.MySqlConnection" 
commandClass="ByteFX.Data.MySqlClient.MySqlCommand" 
parameterClass="ByteFX.Data.MySqlClient.MySqlParameter" 
parameterDbTypeClass="ByteFX.Data.MySqlClient.MySqlDbType" 
parameterDbTypeProperty="MySqlDbType" 
dataAdapterClass="ByteFX.Data.MySqlClient.MySqlDataAdapter" 
commandBuilderClass="ByteFX.Data.MySqlClient.MySqlCommandBuilder" 
usePositionalParameters="false" 
useParameterPrefixInSql="true" 
useParameterPrefixInParameter="true" 
parameterPrefix="@"/> 
<provider 
name="MySql" 
description="MySQL, MySQL provider V6.9.8.0" 
enabled="false" 
assemblyName="MySql.Data, Version=6.9.8.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" connectionClass="MySql.Data.MySqlClient.MySqlConnection" 
commandClass="MySql.Data.MySqlClient.MySqlCommand" 
parameterClass="MySql.Data.MySqlClient.MySqlParameter" 
parameterDbTypeClass="MySql.Data.MySqlClient.MySqlDbType" 
parameterDbTypeProperty="MySqlDbType" 
dataAdapterClass="MySql.Data.MySqlClient.MySqlDataAdapter" 
commandBuilderClass="MySql.Data.MySqlClient.MySqlCommandBuilder" 
usePositionalParameters="false" 
useParameterPrefixInSql="true" 
useParameterPrefixInParameter="true" 
parameterPrefix="?"/> 
<provider name="SQLite3" 
description="SQLite, SQLite.NET provider V0.21.1869.3794" 
enabled="false" 
assemblyName="SQLite.NET, Version=0.21.1869.3794, Culture=neutral, PublicKeyToken=c273bd375e695f9c" 
connectionClass="Finisar.SQLite.SQLiteConnection" 
commandClass="Finisar.SQLite.SQLiteCommand" 
parameterClass="Finisar.SQLite.SQLiteParameter" 
parameterDbTypeClass="System.Data.DbType, System.Data" 
parameterDbTypeProperty="DbType" 
dataAdapterClass="Finisar.SQLite.SQLiteDataAdapter" 
commandBuilderClass="Finisar.SQLite.SQLiteCommandBuilder" 
usePositionalParameters="false" 
useParameterPrefixInSql="true" 
useParameterPrefixInParameter="true" 
parameterPrefix="@" 
setDbParameterPrecision="false" 
setDbParameterScale="false"/> 
<provider 
name="Firebird1.7" 
description="Firebird, Firebird SQL .NET provider V1.7.0.33200" 
enabled="false" 
assemblyName="FirebirdSql.Data.Firebird, Version=1.7.0.33200, Culture=neutral, PublicKeyToken=fa843d180294369d" connectionClass="FirebirdSql.Data.Firebird.FbConnection" 
commandClass="FirebirdSql.Data.Firebird.FbCommand" 
parameterClass="FirebirdSql.Data.Firebird.FbParameter" 
parameterDbTypeClass="FirebirdSql.Data.Firebird.FbDbType" 
parameterDbTypeProperty="FbDbType" 
dataAdapterClass="FirebirdSql.Data.Firebird.FbDataAdapter" 
commandBuilderClass="FirebirdSql.Data.Firebird.FbCommandBuilder" 
usePositionalParameters="false" 
useParameterPrefixInSql="true" 
useParameterPrefixInParameter="true" 
parameterPrefix="@"/> 
<provider 
name="PostgreSql0.7" 
description="PostgreSql, Npgsql provider V0.7.0.0" 
enabled="false" 
assemblyName="Npgsql, Version=0.7.0.0, Culture=neutral, PublicKeyToken=5d8b90d52f46fda7" 
connectionClass="Npgsql.NpgsqlConnection" 
commandClass="Npgsql.NpgsqlCommand" 
parameterClass="Npgsql.NpgsqlParameter" 
parameterDbTypeClass="NpgsqlTypes.NpgsqlDbType" 
parameterDbTypeProperty="NpgsqlDbType" 
dataAdapterClass="Npgsql.NpgsqlDataAdapter" 
commandBuilderClass="Npgsql.NpgsqlCommandBuilder" 
usePositionalParameters="false" 
useParameterPrefixInSql="true" 
useParameterPrefixInParameter="true" 
parameterPrefix=":"/> 
<provider 
name="PostgreSql0.7.1" 
description="PostgreSql, Npgsql provider V0.7.1.0" 
enabled="false" 
assemblyName="Npgsql, Version=0.7.1.0, Culture=neutral, PublicKeyToken=5d8b90d52f46fda7" 
connectionClass="Npgsql.NpgsqlConnection" 
commandClass="Npgsql.NpgsqlCommand" 
parameterClass="Npgsql.NpgsqlParameter" 
parameterDbTypeClass="NpgsqlTypes.NpgsqlDbType" 
parameterDbTypeProperty="NpgsqlDbType" 
dataAdapterClass="Npgsql.NpgsqlDataAdapter" 
commandBuilderClass="Npgsql.NpgsqlCommandBuilder" 
usePositionalParameters="false" 
useParameterPrefixInSql="true" 
useParameterPrefixInParameter="true" 
parameterPrefix=":"/> 
<provider 
name="iDb2.10" 
description="IBM DB2 Provider, V 10.0" 
enabled="false" 
assemblyName="IBM.Data.DB2.iSeries, Version=10.0.0.0,Culture=neutral, PublicKeyToken=9cdb2ebfb1f93a26, Custom=null" connectionClass="IBM.Data.DB2.iSeries.iDB2Connection" 
commandClass="IBM.Data.DB2.iSeries.iDB2Command" 
parameterClass="IBM.Data.DB2.iSeries.iDB2Parameter" 
parameterDbTypeClass="IBM.Data.DB2.iSeries.iDB2DbType" 
parameterDbTypeProperty="iDB2DbType" 
dataAdapterClass="IBM.Data.DB2.iSeries.iDB2DataAdapter" 
commandBuilderClass="IBM.Data.DB2.iSeries.iDB2CommandBuilder" 
usePositionalParameters="true" 
useParameterPrefixInSql="false" 
useParameterPrefixInParameter="false" 
parameterPrefix=""/> 
<provider 
name="Informix" 
description="Informix NET Provider, 2.81.0.0" 
enabled="false" 
assemblyName="IBM.Data.Informix, Version=2.81.0.0, Culture=neutral, PublicKeyToken=7c307b91aa13d208" 
connectionClass="IBM.Data.Informix.IfxConnection" 
commandClass="IBM.Data.Informix.IfxCommand" 
parameterClass="IBM.Data.Informix.IfxParameter" 
parameterDbTypeClass="IBM.Data.Informix.IfxType" 
parameterDbTypeProperty="IfxType" 
dataAdapterClass="IBM.Data.Informix.IfxDataAdapter" 
commandBuilderClass="IBM.Data.Informix.IfxCommandBuilder" 
usePositionalParameters = "true" 
useParameterPrefixInSql = "false" 
useParameterPrefixInParameter = "false" 
useDeriveParameters="false" 
/> 
</providers>

新建对应的xml文件(ygB.xml)对数据库进行操作

<?xml version="1.0" encoding="utf-8" ?>
<sqlMap namespace="SchoolEntity" xmlns="http://ibatis.apache.org/mapping" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<alias>
<typeAlias alias="yg_B" type="SchoolEntity.yg_B, SchoolEntity" />
</alias>
<!--配置缓存模型--> 
<cacheModel id="ygB-cache" type="OSCache" readOnly="true" serialize="true">
<flushInterval hours="24" />
<flushOnExecute statement="InsertygB" />
<flushOnExecute statement="UpdateygB" />
<flushOnExecute statement="DeleteygB" />
<property value="500" name="size" />
</cacheModel>
Mapping Class To Sql Realation Teable
<resultMaps>
<resultMap id="ygBResult" class="SchoolEntity.yg_B">
<result property="bid" column="bid"/>
<result property="bname" column="bname"/>
<result property="aid" column="aid"/>
</resultMap>
</resultMaps>
Mapping The SQl StateMent about CRUD chenkai
<statements>
<insert id="InsertygB" parameterClass="SchoolEntity.yg_B">
INSERT INTO dbo.yg_B
( bname ,
aid
)
VALUES ( #bname# , #aid# )
</insert>
<update id="UpdateygB" parameterClass="SchoolEntity.yg_B" restltClass="int">
UPDATE dbo.yg_B SET bname=#bname#,
aid=#aid#
WHERE bid=#bid#
</update>
<delete id="DeleteygB" parameterClass="SchoolEntity.yg_B" restltClass="int">
DELETE FROM dbo.yg_B WHERE bid=#bid#
</delete>
<select id="SelectAllygB" resultClass="SchoolEntity.yg_B">
SELECT * FROM dbo.yg_B
</select>
</statements>
</sqlMap>

 

注意:select update insert delete 一定要小写,否则会报错

效果如下:(只做了一个单表查询)

 

posted @ 2017-11-05 18:43  powerMG  阅读(311)  评论(0编辑  收藏  举报