对于Mybatis框架,初来乍到,自写了一demo。
概念型的东西我也就不啰嗦了,自己可以问度娘。
首先去下载相关Mybatis的jar包,下载完成之后,使用MyEclipse新建java项目。在此之前我想说的是:关于MyEclipse中Mybatis插件的安装,就不要在线安装了,真特么慢,而且不容易安装成功(我安装的时候,在线试了一下,顿时就醉了),直接手动下载插件并将其解压后将对应的包的文件和jar包copy到MyEclipse中对应的包中,然后重启MyEclipse。
安装完成之后,恭喜你第一步完成。接着直接讲解demo:
先去数据库新建库和表,如果是mysql数据库,那么有自增的字段的话,必须要设计自增(navicat中直接设置)。
将数据库驱动包加入java项目,在新建的java项目下,鼠标右击src节点,new中寻找MyBatis Generator Configration File后点击,在出现的框中,直接点击finish(都是默认即可),如下:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN" "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd" >
<generatorConfiguration >
<context id="context1" >
<jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://localhost:3306/renren?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull"
userId="root" password="jiaojun" />
<javaModelGenerator targetPackage="orm" targetProject="generatorJava" />
<sqlMapGenerator targetPackage="orm" targetProject="generatorJava" />
<javaClientGenerator targetPackage="orm" targetProject="generatorJava" type="XMLMAPPER" />
<table schema="renren" tableName="userinfo" >
<generatedKey column="id" sqlStatement="mysql" identity="true"/>
</table>
</context>
</generatorConfiguration>
上述代码中和你自己生成的会有点不同,要手动去改变里面的URL、name和password来确保有数据库并且的可以连接的。另外,代码最后加了<generatedKey.......目的是数据表字段中有自增的情况,需要加入:
mysql:<generatedKey column="id" sqlStatement="mysql" identity="true"/>
oracle:<generatedKey column="id" sqlStatement = "select idauto.nextval from dual " identity="false" />
MSSQL:<generatedKey column="id" sqlStatement="SqlServer" identity="true"/>
修改完之后,接着右击刚刚生成的xml文件,寻找Generate MyBatis/Ibatis Artifacts,它会生成相应的orm包,那么到这里MyBatis基础文件已准备完毕。注意:这里的xml文件一旦有修改,则必须生成ORM
接下来就是新建web项目,鼠标右击src创建MyBatis-config.xml文件:
<?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" />
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql://localhost:3306/renren?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull" />
<property name="username" value="root" />
<property name="password" value="jiaojun" />
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="orm/UserinfoMapper.xml"/>
</mappers>
</configuration>
创建完成之后,将java项目中的ORM全部复制到web项目中,并将开始下载好的mybatis的jar包放入lib中,之后直接就去测试吧:
public static void main(String[] args) {
try {
Userinfo userinfo=new Userinfo();
userinfo.setUsername("admin");
userinfo.setPassword("admin");
String resource = "myibatis-config.xml";
InputStream inputStream = Resources.getResourceAsStream(resource);
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
SqlSession sqlSession=sqlSessionFactory.openSession();
sqlSession.insert("insert",userinfo);
sqlSession.commit();
sqlSession.close();
} catch (Exception e) {
e.printStackTrace();
}
}
注意:上述代码中sqlSession.insert("insert",userinfo);意思就是将赋值好的对象在SQLSessionFactory找到insert语句,然后插入数据库(典型的mybatis),至于delete、update、select语句就换换对应的语句即可,到此就已经完成初级mybatis了。我也是第一次,如果还有其他问题那么也可以扣我,如果写的不好,亲喷!