1+ package com .xwintop .xJavaFxTool .services .assistTools ;
2+
3+ import com .alibaba .druid .pool .DruidDataSource ;
4+ import com .xwintop .xJavaFxTool .controller .assistTools .IdiomDataToolController ;
5+ import lombok .Getter ;
6+ import lombok .Setter ;
7+ import lombok .extern .slf4j .Slf4j ;
8+ import org .apache .commons .lang3 .StringUtils ;
9+ import org .springframework .jdbc .core .JdbcTemplate ;
10+
11+ import java .util .HashMap ;
12+ import java .util .List ;
13+ import java .util .Map ;
14+
15+ /**
16+ * @ClassName: IdiomDataToolService
17+ * @Description: 成语字典工具
18+ * @author: xufeng
19+ * @date: 2019/11/10 0010 22:06
20+ */
21+
22+ @ Getter
23+ @ Setter
24+ @ Slf4j
25+ public class IdiomDataToolService {
26+ private IdiomDataToolController idiomDataToolController ;
27+
28+ private JdbcTemplate jdbcTemplate ;
29+
30+ public IdiomDataToolService (IdiomDataToolController idiomDataToolController ) {
31+ this .idiomDataToolController = idiomDataToolController ;
32+ }
33+
34+ public void selectAction () throws Exception {
35+ if (jdbcTemplate == null ) {
36+ DruidDataSource dataSource = new DruidDataSource ();
37+ dataSource .setUrl ("jdbc:h2:D:\\ ideaWorkspaces\\ xwintop\\ xJavaFxTool\\ file\\ IdiomDirty" );
38+ dataSource .setDriverClassName ("org.h2.Driver" );
39+ dataSource .init ();
40+ jdbcTemplate = new JdbcTemplate (dataSource );
41+ }
42+ String sql = "SELECT * FROM Idiom_dirty WHERE word like ?" ;
43+ String sqlArgs = "" ;
44+ if (StringUtils .isEmpty (idiomDataToolController .getSelectWordTextField ().getText ())) {
45+ String [] indexString = new String []{
46+ idiomDataToolController .getIndex1TextField ().getText (),
47+ idiomDataToolController .getIndex2TextField ().getText (),
48+ idiomDataToolController .getIndex3TextField ().getText (),
49+ idiomDataToolController .getIndex4TextField ().getText ()
50+ };
51+ for (int i = 0 ; i < 4 ; i ++) {
52+ if (StringUtils .isEmpty (indexString [i ])) {
53+ sqlArgs += "_" ;
54+ } else {
55+ sqlArgs += indexString [i ];
56+ }
57+ }
58+
59+ } else {
60+ sqlArgs = "%" + idiomDataToolController .getSelectWordTextField ().getText () + "%" ;
61+ }
62+ List <Map <String , Object >> list = jdbcTemplate .queryForList (sql , sqlArgs );
63+ idiomDataToolController .getIdiomDataTableData ().clear ();
64+ for (Map <String , Object > stringObjectMap : list ) {
65+ Map <String , String > dataRow = new HashMap <String , String >();
66+ dataRow .put ("word" , stringObjectMap .get ("word" ).toString ());
67+ dataRow .put ("pinyin" , stringObjectMap .get ("pinyin" ).toString ());
68+ dataRow .put ("explanation" , stringObjectMap .get ("explanation" ).toString ());
69+ dataRow .put ("derivation" , stringObjectMap .get ("derivation" ).toString ());
70+ dataRow .put ("example" , stringObjectMap .get ("example" ).toString ());
71+ idiomDataToolController .getIdiomDataTableData ().add (dataRow );
72+ }
73+ }
74+
75+ public void clearAction () {
76+ idiomDataToolController .getIndex1TextField ().setText (null );
77+ idiomDataToolController .getIndex2TextField ().setText (null );
78+ idiomDataToolController .getIndex3TextField ().setText (null );
79+ idiomDataToolController .getIndex4TextField ().setText (null );
80+ idiomDataToolController .getSelectWordTextField ().setText (null );
81+ }
82+ }
0 commit comments