首先spring整合mybatis在(一)中说过,那么下面说一下如何自动生成dao、pojo、mapperxml文件
第一步、在pomxml中增加一个插件,意义在于手动执行maven的 *** 作:
<plugin>
<groupId>orgmybatisgenerator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>132</version>
<configuration>
<!-- 自动生成文件配置文件的地址 -->
<configurationFile>src/main/resources/mybatis-generator/generatorConfigxml</configurationFile>
<verbose>true</verbose>
<overwrite>true</overwrite>
</configuration>
<executions>
<execution>
<id>Generate MyBatis Artifacts</id>
<goals>
<goal>generate</goal>
</goals>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>orgmybatisgenerator</groupId>
<artifactId>mybatis-generator-core</artifactId>
<version>132</version>
</dependency>
</dependencies>
</plugin>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
第二步,将自动生成dao及mapper文件的配置文件放在上述配置的目录下:
<xml version="10" encoding="UTF-8">
<!--数据库连接驱动类,URL,用户名、密码 -->
<jdbcConnection driverClass="commysqljdbcDriver"
connectionURL="jdbc:mysql://ipXXX:3306/databaseXXXcharacterEncoding=utf-8"
userId="root" password="rootXXX">
</jdbcConnection>
<javaTypeResolver>
<property name="forceBigDecimals" value="false"/>
</javaTypeResolver>
<!-- 生成(实体)模型的包名和位置-->
<javaModelGenerator targetPackage="comzhypojo" targetProject="src/main/java">
<property name="enableSubPackages" value="true"/>
<property name="trimStrings" value="true"/>
</javaModelGenerator>
<!-- 生成XML映射文件的包名和位置-->
<sqlMapGenerator targetPackage="mapper" targetProject="src/main/resources">
<property name="enableSubPackages" value="true"/>
</sqlMapGenerator>
<!-- 生成DAO接口的包名和位置-->
<javaClientGenerator type="XMLMAPPER" targetPackage="comzhydao" targetProject="src/main/java">
<property name="enableSubPackages" value="true"/>
</javaClientGenerator>
<!-- 要生成的表 tableName是数据库中的表名或视图名 domainObjectName是实体类名-->
<table tableName="t_user" domainObjectName="UserInfo" enableCountByExample="false"
enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false"
selectByExampleQueryId="false"></table>
</context>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
这里有个小点需要注意,在maven工程基于“约定大于配置”的特点,java文件在src/main/java下,所以你需要将targetProject的值设为src/main/java,直接放在你的工程目录下,这样生成后不需要修改文件的引入地址。–~
第三步,就可以maven菜单里手动执行mybatis-generator生成dao层文件了。
fstream f;
fopen("1txt", ios::in | ios::binary);
if (!fis_open()) // 检查文件是否成功打开
cout << "cannot open file" << endl;
ios::in与ios::bianry均为int型,定义文件打开的方式。
ios::in -- 打开文件用于读。
ios::out -- 打开文件用于写,如果文件不存在,则新建一个;存在则清空其内容。
ios::binary -- 以二进制bit流方式进行读写,默认是ios::text,但最好指定这种读写方式,即使要读写的是文本。因为在ios::text模式下,在写入时’\ n’字符将转换成两个字符:回车+换行(HEX: 0D 0A) 写入,读入时作逆转换,这容易引起不必要的麻烦。ios::app -- 打开文件在文件尾进行写入,即使使用了seekp改变了写入位置,仍将在文件尾写入。
ios::ate -- 打开文件在文件尾进行写入,但seekp有效。
读写位置的改变
fseekg(0, ios::beg); // 改变读入位置 g mean Get
fseekp(0, ios::end); // 改变写入位置 p mean Put
第一个参数是偏移量offset(long),第二个参数是offset相对的位置,三个值:
ios::beg -- 文件头 ios::end -- 文件尾 ios::cur -- 当前位置
文件读写
char s[50];
fread(s, 49);
s[50] = ’\0’; // 注意要自己加上字符串结束符
char s = "hello";
fwrite(s, strlen(s));
补充 记得读写完成后用fclose()关闭文件。
例子 下面的程序用于删除带有行号的源程序中的行号。
#include <iostream>
#include <fstream>
using namespace std;
//定义要删除的行号格式,下面定义的是型如: #0001 的行号
const int LINE_NUM_LENGTH = 5;
const char LINE_NUM_START = ’#’;
int main(int argc, char argv[])
{
fstream f;
char s = NULL;
int n;
for (int i = 1; i < argc; i++) {
cout << "Processing file " << argv[i] << "";
fopen(argv[i], ios::in | ios::binary);
if (!fis_open()){
cout << "CANNOT OPEN"<< endl;
continue;
}
fseekg(0, ios::end);
n = ftellg(); // 文件大小
s = new char[n+1];
fseekg(0, ios::beg);
fread(s, n);
s[n] = ’\0’;
fclose();
// 采用一种简单的判断,遇到LINE_NUM_START后接一个数字,
// 则认为它是一个行号
for (int j = 0; j < n; j++) {
if (s[j] == LINE_NUM_START && (s[j+1] >= ’0’ && s[j+1] <= ’9’)) {
for (int k = j; k < j + LINE_NUM_LENGTH; k++)
s[k] = ’ ’;
}
}
fopen(argv[i], ios::out | ios::binary);
if (!fis_open()) {
cout << "CANNOT OPEN" << endl;
delete[] s;
continue;
}
fwrite(s, n);
fclose();
cout << "OK" << endl;
delete[] s;
}
return 0;
以上就是关于springxml文件怎么生成数据库dao全部的内容,包括:springxml文件怎么生成数据库dao、怎样用fstream对二进制文件进行内容修改和删除、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)