asp.net搭建mybatis开发环境
2015-05-24 20:06
861 查看
mybatis其实就是ibatis的升级版本不仅能在java上使用,asp.net照样可以使用mybatis来开发程序。mybatis是一个比较小巧的ORM框架,类似hibernate。自己试了一下用法和java上的mybatis差不多。这次在.net的平台上我也来小试牛刀,弄个小程序出来看看,开发之前要去mybatis官网上下载2个包。
1.asp.net版本的mybatis下载地址是http://www.mybatis.org/dotnet.html,如下图所示
如果有必要的话可以连开发文档一起下载。
2.把下面的dll文件全部拷贝出来,之后在项目里添加引用。日志的那个开发包可以不选
3.为了开发方便我这里在项目里添加了一个数据库student,并且建了一个学生表m_student
4.在项目里添加一个配置文件,这个文件存有所需要的连接配置,类似于hibernate里的方言。该文件可以从下载的包里拷贝出来使用名称为Providers.config
文件内容如下
最后这个是我自己加上的
5.编写持久层代码Student.cs
6.编写mybatis的映射文件,需要注意的是名称空间要正确并且完整。我这里只写了一个比较简单的
这里建议大家把名称空间写规范些,parameterClass的地方可以使类全名,配置文件的参数我就不在强调了。
7.编写SqlMap.config配置文件
8.编写一个类用来插入数据
9.创建单元测试,查看程序是否正确如下所示
之后选择要测试的方法
点击确定,visual studio就会为我们创建单元测试了。之后为单元测试生成以下解决方案,之后就打开测试窗口
下面就可以开始单元测试了,如下所示点击之后运行选定内容
执行完成后来看下数据库是否生成了数据
如果程序出错了可以像下面这样做查看异常信息
到这里程序就写好了,下面我贴一个映射文件出来大家以后开发可以模仿着下面的这个写,注意下名称空间的区别就好
想这样的配置文件应该算是比较完整的了,大家练习一下吧。代码在我的资源里大家自己去下载。如果有写的不对的大家可以拍砖。
1.asp.net版本的mybatis下载地址是http://www.mybatis.org/dotnet.html,如下图所示
如果有必要的话可以连开发文档一起下载。
2.把下面的dll文件全部拷贝出来,之后在项目里添加引用。日志的那个开发包可以不选
3.为了开发方便我这里在项目里添加了一个数据库student,并且建了一个学生表m_student
4.在项目里添加一个配置文件,这个文件存有所需要的连接配置,类似于hibernate里的方言。该文件可以从下载的包里拷贝出来使用名称为Providers.config
文件内容如下
<?xml version="1.0"?> <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, provider V1.0.3300.0 in framework .NET V1.0" enabled="true" 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="@" allowMARS="false" /> <provider name="sqlServer1.1" description="Microsoft SQL Server, provider V1.0.5000.0 in framework .NET V1.1" enabled="true" default="true" 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="@" allowMARS="false" /> <!--SqlServer 2.0 SQl--> <provider name="sqlServer2.0" enabled="true" description="Microsoft SQL Server, provider V2.0.0.0 in framework .NET V2.0" assemblyName="System.Data, Version=2.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="false" /> <provider name="OleDb1.1" description="OleDb, provider V1.0.5000.0 in framework .NET V1.1" enabled="true" 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="" allowMARS="false" /> <provider name="OleDb2.0" description="OleDb, provider V2.0.0.0 in framework .NET V2" enabled="false" assemblyName="System.Data, Version=2.0.0.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="" allowMARS="false" /> <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="@" allowMARS="false" /> <!--ODBC 2.0 Support--> <provider name="Odbc2.0" description="Odbc, provider V2.0.0.0 in framework .NET V2" enabled="false" assemblyName="System.Data, Version=2.0.0.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="@" allowMARS="false" /> <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" allowMARS="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" allowMARS="false" /> <!--Oracle Support--> <provider name="oracleClient1.0" description="Oracle, Microsoft provider V1.0.5000.0" enabled="false" 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=":" allowMARS="false" /> <!--ByteFX Support--> <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="@" allowMARS="false" /> <!--MySql Support--> <provider name="MySql" description="MySQL, MySQL provider 1.0.7.30072" enabled="false" assemblyName="MySql.Data, Version=1.0.7.30072, 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="?" allowMARS="false" /> <!--SQLite 3 Support--> <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" allowMARS="false" /> <!--Firebird Support--> <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="@" allowMARS="false" /> <!--PostgreSql Support--> <provider name="PostgreSql0.99.1.0" description="PostgreSql, Npgsql provider V0.99.1.0" enabled="false" assemblyName="Npgsql, Version=0.99.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=":" allowMARS="true" /> <!--DB2 Support--> <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="" allowMARS="false" /> <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" allowMARS="false" /> <provider name="sqlServer2005" enabled="true" description="Microsoft SQL Server, provider V2.0.0.0 in framework .NET V2.0" assemblyName="System.Data, Version=2.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" /> </providers>
最后这个是我自己加上的
5.编写持久层代码Student.cs
using System; using System.Collections.Generic; using System.Linq; using System.Web; namespace useribatis { public class Student { public int id { set; get; } public String username{ set; get; } public String password{ set; get; } } }
6.编写mybatis的映射文件,需要注意的是名称空间要正确并且完整。我这里只写了一个比较简单的
<?xml version="1.0" encoding="utf-8" ?> <sqlMap namespace="Student" xmlns="http://ibatis.apache.org/mapping" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > <statements> <insert id="create" parameterClass="useribatis.Student"> insert into m_student(username,password) values (#username#,#password#) </insert> </statements> </sqlMap>
这里建议大家把名称空间写规范些,parameterClass的地方可以使类全名,配置文件的参数我就不在强调了。
7.编写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"> <settings> <!-- 启用缓存 --> <setting cacheModelsEnabled="true"/> <!-- 配置是否使用名称空间这里建议写成true --> <setting useStatementNamespaces="true" /> </settings> <!-- 引入providers配置文件 --> <providers resource="providers.config"/> <database> <provider name="sqlServer2005" /> <!-- 配置连接字符串 --> <dataSource name="SqlServer" connectionString="data source=.\SQLEXPRESS;AttachDbFilename=G:\source\useribatis\useribatis\App_Data\Student.mdf;Integrated Security=True;User Instance=True;" /> </database> <sqlMaps> <!-- 映射的资源文件 --> <sqlMap resource="Maps/StudentInfo.xml"/> </sqlMaps> </sqlMapConfig>
8.编写一个类用来插入数据
using System; using System.Collections.Generic; using System.Linq; using System.Web; using IBatisNet.Common; using IBatisNet.DataMapper; using IBatisNet.DataMapper.Configuration; using IBatisNet.Common.Utilities; using IBatisNet.DataAccess; using IBatisNet.DataAccess.Configuration; using IBatisNet.DataAccess.Interfaces; using IBatisNet.Common.Logging; namespace useribatis { public class Insert { public void doCreate() { DomSqlMapBuilder builder = new DomSqlMapBuilder(); ISqlMapper Map = builder.Configure("SqlMap.config"); // SqlMapper sqlMapper = builder.Configure() as SqlMapper; Student stu=new Student(); stu.username="李敏镐3"; stu.password="1234567"; Map.Insert("Student.create", stu); } } }
9.创建单元测试,查看程序是否正确如下所示
之后选择要测试的方法
点击确定,visual studio就会为我们创建单元测试了。之后为单元测试生成以下解决方案,之后就打开测试窗口
下面就可以开始单元测试了,如下所示点击之后运行选定内容
执行完成后来看下数据库是否生成了数据
如果程序出错了可以像下面这样做查看异常信息
到这里程序就写好了,下面我贴一个映射文件出来大家以后开发可以模仿着下面的这个写,注意下名称空间的区别就好
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE sqlMap PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN" "http://www.ibatis.com/dtd/sql-map-2.dtd"> <sqlMap namespace="Course"> <resultMap id="resultMap" class="com.junze.huiju.module.course.info.CourseInfo"> <result property="REMARK1" column="REMARK1"/> <result property="FCOURSENATURE" column="FCOURSENATURE"/> <result property="REMARK2" column="REMARK2"/> <result property="FCOURSENUM" column="FCOURSENUM"/> <result property="FID" column="FID"/> <result property="FNAME" column="FNAME"/> </resultMap> <sql id="sqlwhere"> <dynamic> <isNotEmpty prepend="and" property="REMARK1"> A.REMARK1 like #REMARK1# </isNotEmpty> <isGreaterThan prepend="and" property="FCOURSENATURE" compareValue="0"> A.FCOURSENATURE = #FCOURSENATURE# </isGreaterThan> <isNotEmpty prepend="and" property="REMARK2"> A.REMARK2 like #REMARK2# </isNotEmpty> <isGreaterThan prepend="and" property="FCOURSENUM" compareValue="0"> A.FCOURSENUM = #FCOURSENUM# </isGreaterThan> <isGreaterThan prepend="and" property="FID" compareValue="0"> A.FID = #FID# </isGreaterThan> <isNotEmpty prepend="and" property="FNAME"> A.FNAME like #FNAME# </isNotEmpty> <isNotEmpty prepend="and" property="containIds"> A.FID NOT IN ($containIds$) </isNotEmpty> </dynamic> </sql> <!--getInfoByID--> <select id="getInfoByID" resultMap="resultMap" parameterClass="int"> select A.* from M_COURSE A where A.FID = #id# </select> <!--read--> <select id="read" resultMap="resultMap" parameterClass="com.junze.huiju.module.course.info.CourseInfo"> select A.* from M_COURSE A where 1=1 <include refid="sqlwhere"/> </select> <!--getlist--> <select id="getList" resultMap="resultMap" parameterClass="com.junze.huiju.module.course.info.CourseInfo"> select * from (select rownum numrow ,A.* from (select A.* from M_COURSE A where 1=1 <include refid="sqlwhere"/> Order By A.FID ) A) where numrow > $startRow$ and numrow < $endRow$ </select> <!--getAlllist--> <select id="getAllList" resultMap="resultMap" parameterClass="com.junze.huiju.module.course.info.CourseInfo"> select A.* from M_COURSE A where 1=1 <include refid="sqlwhere"/> Order By A.FID Desc </select> <!--getBusinessList--> <select id="getBusinessList" resultMap="resultMap" parameterClass="com.junze.huiju.module.course.info.CourseInfo"> select A.* from M_COURSE A where 1=1 <include refid="sqlwhere"/> Order By A.FID Desc </select> <!--getCount--> <select id="getCount" resultClass="java.lang.Integer" parameterClass="com.junze.huiju.module.course.info.CourseInfo"> select count(*) from M_COURSE A where 1=1 <include refid="sqlwhere"/> </select> <!--create--> <insert id="create" parameterClass="com.junze.huiju.module.course.info.CourseInfo"> <selectKey resultClass="int" keyProperty="FID"> select SEQ_M_COURSE.nextVal as value from dual </selectKey> insert into M_COURSE(REMARK1,FCOURSENATURE,REMARK2,FCOURSENUM,FID,FNAME) values (#REMARK1:VARCHAR2#,#FCOURSENATURE#,#REMARK2:VARCHAR2#,#FCOURSENUM#,#FID#,#FNAME:VARCHAR2#) </insert> <!--update --> <update id="update" parameterClass="com.junze.huiju.module.course.info.CourseInfo"> update M_COURSE set REMARK1= #REMARK1:VARCHAR2#, FCOURSENATURE = #FCOURSENATURE#, REMARK2 = #REMARK2:VARCHAR2#, FCOURSENUM = #FCOURSENUM#, FID = #FID#, FNAME = #FNAME:VARCHAR2# where FID = #FID# </update> <!--deleteByID--> <delete id="deleteByID" parameterClass="int"> delete from M_COURSE where FID = #id# </delete> <!--deleteByCondition--> <delete id="deleteByCondition" parameterClass="com.junze.huiju.module.course.info.CourseInfo"> delete from M_COURSE A where 1=1 <include refid="sqlwhere"/> </delete> </sqlMap>
想这样的配置文件应该算是比较完整的了,大家练习一下吧。代码在我的资源里大家自己去下载。如果有写的不对的大家可以拍砖。
相关文章推荐
- 从0开始学习ASP.NET(2.0为例)系列——03开发环境的搭建及相关工具
- VS2015 搭建Asp.net core开发环境的方法
- 开始搭建 myBatis.net + Spring.net + asp.net mvc 3 + easyUI 开发平台
- asp.net开发环境搭建
- 在Ubuntu下搭建ASP.NET 5开发环境
- 搭建基于ASP.NET 2.0的DNN 4.X模块开发环境及模块实例(2)
- 搭建基于ASP.NET 2.0的DNN 4.X模块开发环境及模块实例(2)
- 在mac中搭建asp.net环境并开发第一个程序
- ASP.NET动态网站开发培训-02.搭建ASP.NET 3.5环境的方法和步骤
- VS2015 搭建 Asp.net core 开发环境
- 【原】ASP.Net 项目实做 搭建开发环境
- asp.net 开发环境搭建
- OSX 下搭建Asp.Net vNext的开发环境
- 搭建基于ASP.NET 2.0的DNN 4.X模块开发环境及模块实例(1)
- (0)ASP.NET Core 简单介绍 和开发环境搭建 - ASP.NET从MVC5升级到MVC6
- 【Asp.net入门02】搭建Asp.net开发环境
- MyBatis学习总结(八)——Mybatis3.x与Spring4.x整合 一、搭建开发环境 1.1、使用Maven创建Web项目 执行如下命令: mvn archetype:create
- 【初识MyBatis→简单的mybatis开发环境搭建】
- win7下asp.net开发的环境配置
- SpringBoot + MyBatis + MySQL + Maven在Intellij IDEA下开发环境的搭建